gpt4 book ai didi

javascript - 使用 Promise.all(),其中个人 promise 出错时重试

转载 作者:行者123 更新时间:2023-12-03 05:52:17 26 4
gpt4 key购买 nike

我有一组 promise (请求 promise ),它们包装在另一个方法中,以便在捕获错误时它们会重试 3 次。那部分工作正常。我想使用promise.all(),因为我最终会有一大堆http请求。使用到目前为止我使用的方法,promise.all() 仍然在所有重试尝试完成之前调用它的回调函数。有没有办法让我可以在promise.all() 执行回调之前等待所有重试尝试完成。

var http_req = require('request-promise')

function My_Http(retries, options)
{
return http_req(options)
.then(data=>{console.log('success')})
.catch(err => {
retries > 0 ? My_Http(retries-1, options) : console.log(err.message)
})
}

var promises = []
promises.push( My_Http(3, options1))
promises.push( My_Http(3, options2))

promise.all(promises).then( data=> {console.log(data)} )

最佳答案

好吧,我认为这是一个愚蠢的错误,但可能对其他人来说有好处,我删除了 My_Http 中的 then 并返回整个三元语句。

var http_req = require('request-promise')

function My_Http(retries, options)
{
return http_req(options)
.catch(err => {
return retries > 0 ? My_Http(retries-1, options) : console.log(err.message)
})
}

var promises = []
promises.push( My_Http(3, options1))
promises.push( My_Http(3, options2))

promise.all(promises).then( data=> {console.log(data)} )

关于javascript - 使用 Promise.all(),其中个人 promise 出错时重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40097778/

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