Return 三元条件下的新承诺 Q

Return new promise Q in ternary condition

我正在使用以下代码,它运行正常。

现在我需要return promise resolve 但不确定在这种情况下该怎么做,有好的方法吗? 请忽略代码 是 sync 我们正在开发一个工具,每个外部 API 方法 s 应该 return promise

这是代码

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

this._process(sHTML, aConfig) & sHTML 应该 return

oDeferred.promise;

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

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