鉴于我有一个被拒绝的承诺:
var promise = new Promise(function(resolve, reject) {
reject({error_message: "Foo"});
});
我想转换那个承诺(在这种情况下:提取错误消息):
var new_promise = promise.then(function(response) {
return response.id;
}, function(error) {
return error.error_message;
});
当我再次履行诺言时:
new_promise.then(function(id) {
console.log("Object created: "+id);
}, function(message) {
console.log("Error: "+message);
});
我将始终在控制台上获得
Object created: Foo
。转变似乎将被拒绝的承诺变成了已解决的承诺。有没有一种方法可以转换被拒绝的承诺,以便结果是另一个被拒绝的承诺?
最佳答案
代替:
return error.error_message;
您可以使用:
throw error.error_message;
关于javascript - 在被拒绝的 promise 中转变值(value)观,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26159662/