gpt4 book ai didi

javascript - 处理多个 http 调用和多个响应

转载 作者:可可西里 更新时间:2023-11-01 16:31:54 24 4
gpt4 key购买 nike

我有一个具有多个键值对的对象,每个键值对都需要作为请求发送,显然我会有多个响应,其中一些是成功的,一些是错误的。现在如何处理它们,因为我必须处理部分成功和失败的情况:

requestParams = {0:'value1',1:'value2',2:'value3'}

现在 requestParams 中的每个值都需要发送一个 http 请求,并且相应的响应需要正确处理。

我要

for(i=0;i<requestParams.length;i++){
http.get(url,requestParams[i]).then(resolve,reject)

对于成功和拒绝都需要显示一些警报,那么我该如何处理呢?谢谢。

最佳答案

您需要使用 Promise.all 来处理一组 promise 。问题是单个故障将导致 Promise.all 失败。您可以在 http.get() 中的各个 promise 上放置一个 catch() 并将某些内容返回到流中。由于 catch() 返回一个新的未被拒绝的 promise ,Promise.all 不知道有一个失败。然后您可以对其进行过滤以查找个别错误。

例如,这是一个失败一次的假 http.get:

// Faked HTTP object
let http = {
get(url) { // will fail for 'value2'
return url == 'value2' ? Promise.reject("some error for: " + url) : Promise.resolve("some value for: " + url)
}
}

let arr = ['value1', 'value2', 'value3']
let promises = arr.map(item =>
http.get(item)
.catch(e => "ERROR: " + e) // catch error here, returning a value or error to be processed later
)
Promise.all(promises).then(console.log)

关于javascript - 处理多个 http 调用和多个响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51416919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com