在三元条件下返回新的承诺Q.

时间:2016-04-12 13:21:02

标签: javascript jquery promise q

我使用以下代码正常工作。

现在我需要返回promise promise但不确定在这种情况下如何做,有很好的方法可以做到这一点? 请忽略代码同步我们正在开发一个工具,每个外部API方法都应该返回承诺

这是代码

getExtendedFileContent: function(sHTML, aConfig) {
    var oDeferred = Q.defer();
    return aConfig ? this._process(sHTML, aConfig) : sHTML;
},

this._process(sHTML, aConfig)& sHTML应该返回

  

oDeferred.promise;

1 个答案:

答案 0 :(得分:2)

请勿使用Q.defer。只需使用Q function(或Promise.resolve,如果您正在使用与ES6兼容的承诺库):

function getExtendedFileContent(sHTML, aConfig) {
    return Q(aConfig ? this._process(sHTML, aConfig) : sHTML);
}