Files
number_zj/20220330_Vote/Ewide.Web.Entry/wwwroot/lib/xe-utils/once.js
毛财君 197b38ca6f 1
2023-07-06 17:37:33 +08:00

26 lines
558 B
JavaScript

var slice = require('./slice')
/**
* 创建一个只能调用一次的函数,只会返回第一次执行后的结果
*
* @param {Function} callback 函数
* @param {Object} context 上下文
* @param {*} args 额外的参数
* @return {Object}
*/
function once (callback, context) {
var done = false
var rest = null
var args = slice(arguments, 2)
return function () {
if (done) {
return rest
}
rest = callback.apply(context, slice(arguments).concat(args))
done = true
return rest
}
}
module.exports = once