我很难理解敏捷,这里有两个问题:
我下面有一个很小的测试代码,几乎是直接从nimble的在线教程中复制出来的。我没有在其中使用任何复杂的asyn函数,但出于简单的原因,我只使用了console.log。
var nimble = require('nimble');
nimble.series([
function(cb) {
console.log("first");
cb();
},
function(cb) {
console.log("second");
cb();
}
]);它如承诺的那样工作,但回调(cb)的意义何在?从代码中,我似乎从未将cb传递给本系列中的任何一个函数。
然后我尝试了修改后的代码版本。基本上,它删除所有回调。
var nimble = require('nimble');
nimble.series([
function() {
console.log("first");
},
function() {
console.log("second");
}
]);遗憾的是,它只是输出“第一”,而不是“第二”,所以在某个地方是错误的,不知道为什么。现在,我非常困惑的是,回调到底是什么,以及为什么我们必须这样做。
2 --从nimble的教程来看,似乎可以方便地使用下划线(_)。我尝试了下面的代码,这是直接复制在线,但我只是被告知_是没有定义..
var nimble = require('nimble');
_.series([
function (callback) {
setTimeout(function () {
console.log('one');
callback();
}, 25);
},
function (callback) {
setTimeout(function () {
console.log('two');
callback();
}, 0);
}
]);可能我出了什么问题。我应该在使用underscore.js之前导入它吗?但nimble表示,它的卖点之一是,它很小,不需要导入异步和下划线。然后我又糊涂了..。
发布于 2014-04-20 11:48:27
问题1:
nimble.series()需要在每个函数中调用cb()来告诉它继续下一个函数。这就是为什么您的第二个函数在取出第一个函数的cb()后没有执行的原因。
问题2:
是的,在使用之前需要导入下划线,就像它使用灵活一样。
var _=需要量(‘下划线’);
https://stackoverflow.com/questions/23181155
复制相似问题