bucks.js
function end(callback, errback) {
            if (callback && callback.length < 1) {
                // if callback specified, it should be `callback(err, ress)`.
                // errが無視されると発生したエラーがどこにも出ずにデバッグが難しくなるので
                // callbackには引数を1つ以上指定することを強制しています
                throw new Error('callback args length invalid. should be `callback(err, ress)` or `callback(err)`.');
            }

            var self = this;

            this.callback = callback;
            this.failure  = errback;

            if (!this._tasks || !this._tasks.length) {
                var err = new Error('task is empty. add(task) first. if theres no task to execute but end is desired, empty() may be useful');
                this.destroy(err, null);
                return callback(err);
            }

            // add as running
            Bucks.running[this.__id] = this;

            this._iterator(); //execute

            return undefined;
        }
function end(callback, errback) {
            if (callback && callback.length < 1) {
                // if callback specified, it should be `callback(err, ress)`.
                // errが無視されると発生したエラーがどこにも出ずにデバッグが難しくなるので
                // callbackには引数を1つ以上指定することを強制しています
                throw new Error('callback args length invalid. should be `callback(err, ress)` or `callback(err)`.');
            }

            var self = this;

            this.callback = callback;
            this.failure  = errback;

            if (!this._tasks || !this._tasks.length) {
                var err = new Error('task is empty. add(task) first. if theres no task to execute but end is desired, empty() may be useful');
                this.destroy(err, null);
                return callback(err);
            }

            // add as running
            Bucks.running[this.__id] = this;

            this._iterator(); //execute

            return undefined;
        }
function end ( callback , errback ) { if ( callback && callback . length < 1 ) { // if callback specified, it should be `callback(err, ress)`. // errが無視されると発生したエラーがどこにも出ずにデバッグが難しくなるので // callbackには引数を1つ以上指定することを強制しています throw new Error ( 'callback args length invalid. should be `callback(err, ress)` or `callback(err)`.' ) ; } var self = this ; this . callback = callback ; this . failure = errback ; if ( ! this . _tasks || ! this . _tasks . length ) { var err = new Error ( 'task is empty. add(task) first. if theres no task to execute but end is desired, empty() may be useful' ) ; this . destroy ( err , null ) ; return callback ( err ) ; } // add as running Bucks . running [ this . __id ] = this ; this . _iterator ( ) ; //execute return undefined ; }
チェインを完了し実行を開始します
@memberof Bucks
@instance
@param {function} [callback] 最終コールバック関数 ressは各チェインの実行結果の配列 ex) callback(err, res)
@param {function} [errback] callbackでエラーが発生した場合のハンドラ ex) errback(err)
チェインを完了し実行を開始します