Javascript 使用axios执行多个请求,而不等待所有请求在数组列表中完成?
如何不等待所有请求完成,因为所有的完成需要太长的时间。如果任何请求完成,我会打印出来,这对用户来说会非常快。要运行每个承诺,只需在每个承诺或承诺中添加一个Javascript 使用axios执行多个请求,而不等待所有请求在数组列表中完成?,javascript,node.js,axios,Javascript,Node.js,Axios,如何不等待所有请求完成,因为所有的完成需要太长的时间。如果任何请求完成,我会打印出来,这对用户来说会非常快。要运行每个承诺,只需在每个承诺或承诺中添加一个。然后()。所有,但是您将无法。映射以下数据: taskList.push( const data = { url: 'http://${requestUrl}?${argsString}', headers: { 'Content-Type': 'application/octe
。然后()
。所有,但是您将无法。映射以下数据:
taskList.push(
const data = {
url: 'http://${requestUrl}?${argsString}',
headers: {
'Content-Type': 'application/octet-stream',
Authorization: signature //,
//'Content-Length': buffer.length
},
method: 'POST',
data: buffer
}
return axios(data)
)
try {
const data = await Promise.all(taskList)
const res = data.map(d => d.data)
console.log(res)
//ctx.state.data = res
} catch (e) {
console.log(e)
throw e
}
所以我建议按照这个模式,等待他们完成
如果花费的时间太长,可能的话,您应该尝试提高后端响应的性能。要运行每个承诺,只需向每个承诺或承诺添加一个。然后()
。所有,但是您将无法。映射以下数据:
taskList.push(
const data = {
url: 'http://${requestUrl}?${argsString}',
headers: {
'Content-Type': 'application/octet-stream',
Authorization: signature //,
//'Content-Length': buffer.length
},
method: 'POST',
data: buffer
}
return axios(data)
)
try {
const data = await Promise.all(taskList)
const res = data.map(d => d.data)
console.log(res)
//ctx.state.data = res
} catch (e) {
console.log(e)
throw e
}
所以我建议按照这个模式,等待他们完成
如果花费的时间太长,如果可能的话,您应该尝试提高后端响应的性能。如果每个响应都应该在完成后立即记录,则应该:
try {
const data = Promise.all(taskList).then(() => console.log('finished'));
// this will not wait to run, so data will be probably undefined
const res = data.map(d => d.data)
...
如果每个响应都应在完成后立即记录,则应:
try {
const data = Promise.all(taskList).then(() => console.log('finished'));
// this will not wait to run, so data will be probably undefined
const res = data.map(d => d.data)
...
无需使用Promise.all(),只需在每个请求中添加一个then()
。很抱歉,我没有收到您的问题。@charlietfl的上述评论也是一个解决方案。您所做的是一次发出所有异步请求。将它们与自己的then()
放在一起将使它们独立。无需使用Promise.all(),只需在每个请求中添加一个then()
。很抱歉,我没有收到您的问题。@charlietfl的上述评论也是一个解决方案。您所做的是一次发出所有异步请求。将它们与自己的then()
放在一起将使它们独立。TypeError:data.map不是函数
,因为数据还没有值TypeError:data.map不是函数
,因为数据还没有值