✏️ 编辑:once.js
路径:
/home/boguraj1/public_html/jobsite/node_modules/once/once.js
大小:935 B · 修改:2022-11-21 20:10:36 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
var wrappy = require('wrappy') module.exports = wrappy(once) module.exports.strict = wrappy(onceStrict) once.proto = once(function () { Object.defineProperty(Function.prototype, 'once', { value: function () { return once(this) }, configurable: true }) Object.defineProperty(Function.prototype, 'onceStrict', { value: function () { return onceStrict(this) }, configurable: true }) }) function once (fn) { var f = function () { if (f.called) return f.value f.called = true return f.value = fn.apply(this, arguments) } f.called = false return f } function onceStrict (fn) { var f = function () { if (f.called) throw new Error(f.onceError) f.called = true return f.value = fn.apply(this, arguments) } var name = fn.name || 'Function wrapped with `once`' f.onceError = name + " shouldn't be called more than once" f.called = false return f }
💾 保存
取消
保存为 UTF-8,换行统一为 LF