프로젝트

일반

사용자정보

통계
| 개정판:

root / HServer / 00.Server / 00.Program / node_modules / after / index.js

이력 | 보기 | 이력해설 | 다운로드 (685 Bytes)

1 39 HKM
module.exports = after
2
3
function after(count, callback, err_cb) {
4
    var bail = false
5
    err_cb = err_cb || noop
6
    proxy.count = count
7
8
    return (count === 0) ? callback() : proxy
9
10
    function proxy(err, result) {
11
        if (proxy.count <= 0) {
12
            throw new Error('after called too many times')
13
        }
14
        --proxy.count
15
16
        // after first error, rest are passed to err_cb
17
        if (err) {
18
            bail = true
19
            callback(err)
20
            // future error callbacks will go to error handler
21
            callback = err_cb
22
        } else if (proxy.count === 0 && !bail) {
23
            callback(null, result)
24
        }
25
    }
26
}
27
28
function noop() {}