Q和承诺的最佳实践

时间:2016-02-25 03:55:43

标签: javascript q

我对Q js库真的很新。

我需要编写一个prepare函数,它可能会暂时返回值或者可能需要等待承诺:

var prepare = function() {
    var result = {};
    result.aaa = 1;

    if (something) {
        callToFunction().then(function () {
            result.bbb = 2
        })
    }

    if (something2) {
        callToFunction().then(function () {
            result.ccc = 2
        })
    }


    // here I have code to define other properties
    // in sync (like `aaa`) or async (like `bbb`) manner



    return result; //I need to return promise here
}

prepare().then(function(result) {use result....})

某人可以修复prepare功能,因此我可以随时安全地使用prepare().then

有人可能认为它与How to maintain a promise-like API in this case?

有关

但事实并非如此。函数负责定义result对象。

  • 首先:定义aaa属性
  • 第二:在某些情况下,函数将定义bbb属性
  • 第三:定义其他属性同步(如aaa)或异步(如bbb)方式

0 个答案:

没有答案