我正在寻找一种方式,我可以发布多个HTTP POST请求,以防万一其中一个或多个错误,然后我就可以知道哪些错误。
我尝试通过observable实现许多逻辑但没有成功。请建议。
答案 0 :(得分:1)
你可以使用Promises
for all requestItems {
http.post(url, body).toPromise().catch(error => {
// This request failed.
})
}
或者如果你想等待所有人完成,你可以收集数组的承诺,然后使用
Promise.all(promises)
.catch(error => ...)
.then(results => ...);
可以在Handling errors in Promise.all
中看到修改强>
你可以这样使用Promise.all:
// Create an array of your promises
const promises = [...];
const resolvedPromises = [];
promises.forEach(promise => {
// Collect resolved promises - you may return some values from then and catch
resolvedPromises.push(promise
.then(result => 'OK')
.catch(error => 'Error')
);
});
Promise.all(resolvedPromises).then(results => {
// results contains values returned from then/catch before
console.log('Finished');
})