跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Nodejs 如何并发请求数据接口,并返回汇总后的结果?
未分類
7 9 月 2020

Nodejs 如何并发请求数据接口,并返回汇总后的结果?

Nodejs 如何并发请求数据接口,并返回汇总后的结果?

資深大佬 : s609926202 18

我用 Nodejs 写了一个 API 接口,用于请求指定数据。这个接口会请求三个其他的 API:

  1. http://a.com/api1
  2. http://b.com/api2
  3. http://c.com/api3

我的目的是同时(并发)请求上面这三个 API,然后汇总请求到的结果,返回给客户端。
请问这个可以实现吗,对 Nodejs 不懂?

大佬有話說 (10)

  • 資深大佬 : hgjian

    promise.all ?好像可以

  • 資深大佬 : flowfire

    await Promise.all([
    fetch(“url1”),
    fetch(“url2”),
    fetch(“url3”),
    ])

  • 資深大佬 : c6h6benzene

    如果用包装好的包如 axios,可以用 axios.all([request1, request2, request3,…).then(axios.spread(response1, response2, response3) => {})。

  • 資深大佬 : coderxy

    promise.all

  • 資深大佬 : 4196

    不是 Nodejs 不懂的问题,你应该多去学下 js,特别是 es6+的

  • 資深大佬 : galikeoy

    1.回调嵌套
    2.请求成功计数
    3.promise.all

  • 資深大佬 : buffzty

    async ()=>{
    const task1 = fetch1()
    const task2 = fetch2()
    const task3 = fetch3()
    // try catch
    const task1Resp = await task1
    const task2Resp = await task2
    const task3Resp = await task3
    // logic
    }

  • 資深大佬 : azcvcza

    promise.all 建议里边包一层 promise,这样即使请求错误 promise.all 也不会挂掉往下走了

  • 資深大佬 : evilStart

    @azcvcza promise.allSettled 可解

  • 資深大佬 : azcvcza

    @evilStart 估计也是 promise.all 里包一层 promise 的语法糖

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具