UNPKG

606 BJavaScriptView Raw
1var slice = require('./slice')
2
3/**
4 * 创建一个函数, 调用次数超过 count 次之后执行回调并将所有结果记住后返回
5 *
6 * @param {Number} count 调用次数
7 * @param {Function} callback 完成回调
8 * @return {Object}
9 */
10function after (count, callback, context) {
11 var runCount = 0
12 var rests = []
13 return function () {
14 var args = arguments
15 runCount++
16 if (runCount <= count) {
17 rests.push(args[0])
18 }
19 if (runCount >= count) {
20 callback.apply(context, [rests].concat(slice(args)))
21 }
22 }
23}
24
25module.exports = after