给定一些Promise(参数
我想创建另一个 Promise,它将进行一些处理,然后根据 somePromise 的结果解析/拒绝:
function wrapPromise() {
return new Promise(function(resolve, reject) {
// some processing
somePromise(someParam).then(function() { resolve(); }, function(err) { reject(err); });
});
}
这是执行此操作的正确方法还是有更短的语法?
最佳答案
你的要求听起来像我会做出 promise 。因此,如果第二个 promise 失败,第一个 promise 也应该失败。
暂时忘掉编程吧:如果你说,我会 promise 我不会吃冰淇淋,那只会让事情变得复杂。不,你只需 promise 你不会吃冰淇淋。
考虑重新设计您的代码,使其变得更简单,我将做出一个可以解决或拒绝的 promise (A)。我将做出另一个单独的 promise (B),该 promise 可以独立于 A 解决或拒绝。
或者只使用一个 Promise,但将代码分成单独的“then”链,例如
promise.then(function(result) { // First 'then'
console.log(result); // Resolve case
}, function(err) {
console.log(err); // Reject case
}).then(function(val) { // Second 'then'
console.log(val); // Resolve case
});
为了更好地理解,我强烈建议阅读:http://www.html5rocks.com/en/tutorials/es6/promises/
关于javascript - 返回一个围绕 promise 的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34756055/