javascript - Promise.all 里面有 Promise 链
问题描述
我有这样的方法:
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 方法都返回 Promises。
问题是我确实捕获了 Promise 返回的 y doSomeRequests 方法的结果,但是如果一个 API 请求失败,我会收到 UnhandledPromiseRejectionWarning。
我错过了什么?有没有办法做这种 Promise 链?
解决方案
感谢@charlietfl 问我是否真的这样做doSomeRequests(..).then().catch()
。结果我没有,我不小心做了,doSomeRequests(..).then().then()
但不知何故确信我需要在“复杂”的 Promise 链中搜索错误。
无论如何,我很抱歉没有用的问题,谢谢你的帮助。
推荐阅读
- c# - Azure Bot 的 Github 部署,线程中止失败
- html - 格式化链接,使它们出现在 CSS 中的图像顶部
- openshift - Openshift - 'oc' 命令失败,并显示“无法连接到服务器:x509:证书由未知机构签名”
- php - 从 url 中提取 id
- node.js - NPM安装节点不在当前目录中创建node_modules
- c++ - accept(...) 似乎正在修改我给它的文件描述符参数
- bash - /bin/sh: 1: 错误替换 Makefile
- appium - “应用程序”是否在当前应用程序上安装了新应用程序?
- java - 如何action_click延迟
- struts2 - 我们应该为 struts 1 使用什么标签 < bean:size 标签在 struts 2 中