Javascript 如何与axios同步链接请求?
假设我的代码中有几个地方Javascript 如何与axios同步链接请求?,javascript,axios,Javascript,Axios,假设我的代码中有几个地方 axios({ method: 'post', url: myurl, data: mydata }).then(...) 我希望各种axios请求能够同步执行:下一个请求必须等待上一个请求的回调,然后才能发送到服务器 似乎我所问的正是承诺能为你提供什么(比如说,通过链接几个,然后)。既然Axios是基于承诺的,我想它应该能够做到这一点。但奇怪的是,我在任何地方都找不到这些信息 请注意,我并不预先知道要发送的所有请求:有第一个请求,然后第二个请求可能在第一
axios({
method: 'post',
url: myurl,
data: mydata
}).then(...)
我希望各种axios请求能够同步执行:下一个请求必须等待上一个请求的回调,然后才能发送到服务器
似乎我所问的正是承诺能为你提供什么(比如说,通过链接几个,然后)。既然Axios是基于承诺的,我想它应该能够做到这一点。但奇怪的是,我在任何地方都找不到这些信息
请注意,我并不预先知道要发送的所有请求:有第一个请求,然后第二个请求可能在第一个请求完成之前到达,或者没有,依此类推
附加:另外,我想我看到了如何通过自己做出承诺,直接发送异步Http请求来实现我的要求。看起来奇怪的是,为此设计的库没有提供这种可能性。好的,我不知道以下几点:如果作为参数传递给的函数返回,那么调用返回一个承诺,那么这个承诺在进一步然后调用之前得到解决。具体而言,我认为以下几点可以实现我的目标:
一次,在脚本开头:
let requestSender = Promise.resolve('');
然后,每当我需要发送请求时:
requestSender.then(prev =>
axios({method: 'post', url: myurl, data: mydata}).then(...))
这样,每个新的axios请求都将等待前一个请求结束后再发送。就像您将任何承诺链接到中一样。然后,同步地返回下一个axios调用,您的意思是串行地,因为同步地意味着其他东西,所以我可能会串行地返回@我不明白你的意思。请注意,不同的请求是在代码的不同位置发出的。您只是想按顺序发送数据吗?或者下一个请求是否依赖于上一个请求的响应?如果请求是任意生成的,但必须始终以串行方式执行,听起来您可能需要排队。然而,这一要求令人怀疑。提供更多信息