UNPKG

vtils

Version:

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

29 lines (28 loc) 652 B
"use strict"; exports.__esModule = true; exports.onceMeanwhile = onceMeanwhile; var _isPromiseLike = require("./isPromiseLike"); /** * 同一时间对函数的调用只会触发一次运行。 * * @param fn 函数 * @returns 返回函数调用结果 */ function onceMeanwhile(fn) { var running = false; var result; var proxy = function proxy() { if (!running) { running = true; var res = fn.apply(void 0, arguments); if ((0, _isPromiseLike.isPromiseLike)(res)) { result = res.then(function (_) { running = false; return _; }); } } return result; }; return proxy; }