我有一个这样的方法:
doSomeRequests(listOfRequestParameters) {
let requests = listOfRequestParameters.map(parmeter => {
return axios.get(url + parmeter)
.then(data => {
const parameters= data.parameters;
return axios.delete(url, parameters)
})
})
return Promise.all(requests);
}
在此函数中,我想要完成列表中每个元素的 API 请求 (listOfRequestParameters),但对于列表中的每个元素,我必须执行两个 API 请求。
axios 方法都返回 Promise。
问题是我确实捕获了 doSomeRequests 方法返回的 Promise 的结果,但如果一个 API 请求失败,我会收到 UnhandledPromiseRejectionWarning。
我错过了什么?有没有办法做这种Promise链?
最佳答案
感谢@charlietfl 问我是否真的这样做doSomeRequests(..).then().catch()
。事实证明我没有,我不小心做了 doSomeRequests(..).then().then()
但不知何故确信我需要在“复杂”的 Promise 链中搜索错误。
无论如何,我很抱歉问了这个无用的问题,谢谢您的帮助。
关于javascript - Promise.all 内含 Promise 链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52294755/