给出一小段如下代码:
let p = somePromise
p.then(
function (response) {
$scope.resultDetails = response.data;
return theNextPromise;
},
function (error) {
$scope.resultDetails = error.data;
return theNextPromise;
}
).then((result) => { ...do more stuff here });如果你想要在解决或拒绝的时候返回一个承诺,那么你要做什么才能从这里返回一个承诺来启动一个链,这看起来像是你最终会重复代码。真的是这样吗?或者你可以做些什么来使这个过程更干净一些
发布于 2019-02-21 10:38:23
这个怎么样?初始化promise对象并保持链接,直到您想要最终确定promise。
let sequence = Promise.resolve()
sequence = sequence.then(() => {
return p
});
sequence = sequence.then((response) => {
$scope.resultDetails = response.data;
return theNextPromise;
},
(error) => {
$scope.resultDetails = error.data;
return theNextPromise;
}));
sequence = sequence.then(result => {return promise object})
// finalize
sequence.then(do something) https://stackoverflow.com/questions/54798187
复制相似问题