gpt4 book ai didi

javascript - 如何在不知道请求数量的情况下链接 Javascript ajax 请求。 ( Node )

转载 作者:行者123 更新时间:2023-11-30 21:15:25 26 4
gpt4 key购买 nike

假设我需要 POST item1 然后等待响应,然后 POST item2 等等,但我不知道项目的数量,我只知道它们需要按顺序排列。

for(item in array){
request({
uri: 'http://some.url/',
method: 'POST',
data: item
}, function(clbck){
<request with data item2 and so on>
})
}

依此类推,直到 request(n) 没有完成。

如何在不知道数量的情况下链接请求?

最佳答案

这个问题的解决方案是一个惊人的异步/等待函数。但是我在回调中使用了它们,我需要对其进行原始化。

// init a async function
const post_message = async (id, array) => {

// init loop of requests
for(let iter = 0; iter<array.length; iter++){

// lets wait for promise to resolve or reject (no need to return anything)
await new Promise(function(resolve,reject){
request({
uri: 'my_post_url',
method: 'POST',
json: {data: my_data}
},function(error,response,body){
if(error) {
reject('REJECTED')
} else {
resolve('RESOLVED')
}
})
})
}
}

瞧,我们可以链接(等待)请求一个接一个,这里的关键是等待在 promise 上寻找解决或拒绝(然后,捕获),等待不关心回调或返回或尝试/捕获方法...

关于javascript - 如何在不知道请求数量的情况下链接 Javascript ajax 请求。 ( Node ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45730801/

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