onceRun 
包装传入函数并返回一个新函数, 确保它在同一时间只运行一次, 并返回一个 Promise, 该 Promise 会解析为同一时间第一次运行的结果
演示 
示例 
ts
import { delay, onceRun } from 'mixte';
let isRun = false;
let runCount = 0;
// 包装传入函数并返回一个新函数
const fn = onceRun(async () => {
  runCount++;
  isRun = true;
  await delay(2400);
  isRun = false;
  return runCount;
});
const res = fn();
const res2 = fn();
// 同一时间只运行一次, 返回同一时间第一次运行时返回的 Promise
console.log(res === res2); // -> true
// 该 Promise 会解析为同一时间第一次运行的结果
console.log(await res); // -> 1
console.log(await res2); // -> 1