【发布时间】:2016-07-19 16:35:23
【问题描述】:
以下是 Trevor Burnham 的“Async JavaScript”一书(The Pragmatic Bookshelf,2012 年)中的代码示例:
var async = require ('async');
var start = new Date;
async.series([
function(callback) { setTimeout(callback, 100); },
function(callback) { setTimeout(callback, 300); },
function(callback) { setTimeout(callback, 200); }
], function(err, results) {
// show time elapsed since start
console.log('Completed in ' + (new Date - start) + 'ms');
});
这让我很困惑,为什么可以使用 setTimeout 来安排未声明的“回调”函数?代码在节点中执行正常,但它到底做了什么? “回调”的调用是否真的被安排在指定的时间点执行,它们真的执行了吗?
【问题讨论】:
-
嗯,什么?
async和.series? -
是的,async.series。这是文档:(github.com/caolan/async#seriestasks-callback)。
-
呃,
callback在每个函数中都明确声明为参数?
标签: javascript callback async.js