javascript - Promise.all 内含 Promise 链

标签 javascript node.js asynchronous promise es6-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 方法都返回 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/

相关文章:

javascript - 无容器控制流语法的 knockout 错误

来自字符串的 Javascript 日期提供从 Chrome 到 Firefox 的不同输出

javascript - 单击复选框时禁用/启用输入 jQuery

javascript - 为什么这段代码会导致 Node.js 使用 phantom 模块挂起

javascript - NodeJs 对每个返回的 MySql 结果对象执行操作

C++ win32 异步套接字客户端发送()问题

javascript - IE7 可以在另一个之上显示两个具有不同不透明度的 div 吗?

javascript - 如何对嵌套对象进行字符串化以使用 queryParams 发出 graphql/GET 请求?

c# - Microsoft的异步服务器套接字示例

asynchronous - 在Dart中以同步方式调用异步功能