首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >灵活流控制工具中的回调和下划线

灵活流控制工具中的回调和下划线
EN

Stack Overflow用户
提问于 2014-04-20 10:44:39
回答 1查看 261关注 0票数 0

我很难理解敏捷,这里有两个问题:

我下面有一个很小的测试代码,几乎是直接从nimble的在线教程中复制出来的。我没有在其中使用任何复杂的asyn函数,但出于简单的原因,我只使用了console.log。

代码语言:javascript
复制
var nimble = require('nimble');
nimble.series([
    function(cb) {
        console.log("first");
        cb();
    },
    function(cb) {
        console.log("second");
        cb();
    }
]);

它如承诺的那样工作,但回调(cb)的意义何在?从代码中,我似乎从未将cb传递给本系列中的任何一个函数。

然后我尝试了修改后的代码版本。基本上,它删除所有回调。

代码语言:javascript
复制
var nimble = require('nimble');
nimble.series([
    function() {
        console.log("first");
    },
    function() {
        console.log("second");
    }
]);

遗憾的是,它只是输出“第一”,而不是“第二”,所以在某个地方是错误的,不知道为什么。现在,我非常困惑的是,回调到底是什么,以及为什么我们必须这样做。

2 --从nimble的教程来看,似乎可以方便地使用下划线(_)。我尝试了下面的代码,这是直接复制在线,但我只是被告知_是没有定义..

代码语言:javascript
复制
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表示,它的卖点之一是,它很小,不需要导入异步和下划线。然后我又糊涂了..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-20 11:48:27

问题1:

nimble.series()需要在每个函数中调用cb()来告诉它继续下一个函数。这就是为什么您的第二个函数在取出第一个函数的cb()后没有执行的原因。

问题2:

是的,在使用之前需要导入下划线,就像它使用灵活一样。

var _=需要量(‘下划线’);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23181155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档