代码之家  ›  专栏  ›  技术社区  ›  dsp_099

javascript fetch()-将可读取流的数组映射到数组

  •  2
  • dsp_099  · 技术社区  · 6 年前

    我有一系列的承诺 fetch() 电话:

    const fetchResults = [Promise, Promise, Promise]

    这个 .body 每一个 Promise ReadableStream ,将其转换为字符串似乎是一个冗长的异步操作。我试图使用await读取body字符串并将其映射回数组:

    profileHTMLDocs.map(async (doc) => { 
        doc.text()
            .then(async (html) => { return await html; }) 
    })
    

    我尝试了一些变体,但它似乎仍然返回一个承诺数组,而不是html字符串数组。我错过了什么?是因为隐含的回报是 doc.text() ?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Jonas Wilms    6 年前

    您可能想使用promise.all将promises数组转换为promise解析为字符串数组:

    const result = Promise.all(fetchResults.map(p => p.then(res => res.text())));