代码之家  ›  专栏  ›  技术社区  ›  Wayne Werner

调用promise而不返回任何内容的函数是否应被视为错误?

  •  0
  • Wayne Werner  · 技术社区  · 6 年前

    doSomething(){
         return somethingPromisy().then((blerp) => {
             // do something with blerp
             return blerp;  // Modified, of course
         });
    };
    

    然后我有另一个方法,看起来像这样:

    doSomethingElse(){
        stepOne();
        var x = stepTwo();
        var y = stepThree(x);
        doSomething.then((data) => {
            stepFour(data + y);
        });
    };
    

    doSomethingElse ,然后我想做一些断言-但是我如何保证在我做出断言时承诺会得到解决?我知道有一个选择是:

    doSomethingElse(){
        /* ... */
        return doSomething.then(...);
    };
    

    return doSomethingElse().then(() => {
        someFake.lastCall.args.should.deep.equal(expectedData);
    });
    

    照顾 关于任何类型的返回值 剂量计 doSomething.then 被称为,即 doSomething

    那么“最好”的方法是什么呢?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Jordan Brooklyn    6 年前

    我自己并不觉得缺少返回值是个问题,有返回值,你只是在链接它,而不是存储它。