javascript - promise Q 无法始终如一地工作

标签 javascript jquery asynchronous promise q

我正在使用 Promise 的 Q 库,我有一些基本问题 我创建了这段代码,当我省略第一个返回 Q 字时,我收到错误(返回 Q(100)),但对于第二个和第三个,如果我省略它们,则没有问题,代码仍然有效,为什么?

  function firstFn() {
        return Q(100);
    };


    function secFn(){
        return Q(200);
    };

    function thirdFn(){
        return q(300);
    };


    firstFn().then(function(a){
        alert(a);
        return secFn();
    }).then(function(b){
        alert(b);
        return thirdFn();
    }).then(function(c){
        alert(c)
    });

最佳答案

您正在对从firstFn返回的值调用.then(function(a)...),因此它需要返回带有.then函数的内容。

对于其他 2 个函数,您可以在 Q .then() 回调中调用它们。如果您从这些回调中返回一个 promise ,Q 将利用它们,但如果您不返回任何内容,Q 也可以接受。

关于javascript - promise Q 无法始终如一地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26974186/

相关文章:

javascript - 如何搜索字符串数组并产生建议性结果

javascript - 默认属性返回未定义

JQuery 多个复选框组验证

json - 使用 Node.js 加载海量数据

python-3.x - 属性错误: 'module' object has no attribute 'ensure_future'

javascript - 如何找到一个数的32位

javascript - jQuery 数据表重新加载

jquery - 滚动到底部太快时路径点不起作用

asynchronous - 未取消 future

javascript - 如何使用 "Injection Tokens"(或其他方式)覆盖 Angular Material 默认选项