Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何与axios同步链接请求?_Javascript_Axios - Fatal编程技术网

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调用
,您的意思是串行地,因为同步地意味着其他东西,所以我可能会串行地返回@我不明白你的意思。请注意,不同的请求是在代码的不同位置发出的。您只是想按顺序发送数据吗?或者下一个请求是否依赖于上一个请求的响应?如果请求是任意生成的,但必须始终以串行方式执行,听起来您可能需要排队。然而,这一要求令人怀疑。提供更多信息