【发布时间】:2016-04-28 05:55:30
【问题描述】:
如果第一个(缓存中的值)失败,我想返回第二个承诺的值。
我有以下代码,但没有定义解析。
exports.getConfig = function (a, r) {
return new Promise(resolve, reject) {
getConfigFromCache(a, r)
.catch(function(e){
getRouteConfigFromWeb(a, r)
}).then(function(result) {
//return value of the promise that was called
resolve(result)
})
}
};
假设 getConfigFromCache 和 getRouteConfigFromWeb 都正确返回了 Promise。
有没有办法做到这一点,还是我想错了?
【问题讨论】:
-
你...从未调用过resolve或reject...
-
感谢您指出这一点。调用 resolve(result) 时我仍然遇到同样的问题
-
尝试缓存
resolve。var _resolve = resolve;或类似的东西,然后再输入getConfig -
是
.then()应该返回getConfigFromCache或 ``getRouteConfigFromWeb` 的结果,无论使用哪个? -
Alnitak,没错。
标签: javascript promise bluebird