UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

26 lines (25 loc) 562 B
import { isPromiseLike } from "./isPromiseLike.js"; /** * 同一时间对函数的调用只会触发一次运行。 * * @param fn 函数 * @returns 返回函数调用结果 */ export function onceMeanwhile(fn) { var running = false; var result; var proxy = function proxy() { if (!running) { running = true; var res = fn.apply(void 0, arguments); if (isPromiseLike(res)) { result = res.then(function (_) { running = false; return _; }); } } return result; }; return proxy; }