具有多个等待的javascript异步

具有多个等待的javascript异步,javascript,asynchronous,vue.js,Javascript,Asynchronous,Vue.js,我有三个api请求异步工作,但第二个请求在第一个请求完成之前工作。如何在完成第一个请求后启动第二个api请求,然后在第二个请求后启动第三个api请求 async doSave(event) { await this.server.post('/insertRecord',{name:'joe'}); //have to work after completion of above request await this.server.post('/changeC

我有三个api请求异步工作,但第二个请求在第一个请求完成之前工作。如何在完成第一个请求后启动第二个api请求,然后在第二个请求后启动第三个api请求

async doSave(event)
{
  await this.server.post('/insertRecord',{name:'joe'});

            //have to work after completion of above request

  await this.server.post('/changeCountry',{countryName:'US'});

          //have to work after completion of above request

  await this.server.post('/satge',{stage:'fifth'});
}

如果第二个请求在第一个请求之前启动,则意味着
this.server.post
返回的承诺在请求完成之前得到解决。或者,它根本不返回承诺,在这种情况下,它会启动异步请求,然后在
this.server.post
返回后运行此函数中的下一行。

如果第二个请求在第一个请求之前启动,这意味着,
this.server.post
返回的承诺在请求完成之前得到解决。或者,它根本不返回承诺,在这种情况下,它启动异步请求,然后在
this.server.post
返回后运行此函数中的下一行。

理想情况下
this.server
-应该返回(axios代表eg返回承诺),但如果没有,您可以使用
承诺
而不是
异步/等待
并将您的请求一个接一个地链接起来

理想情况下,
this.server
-应该返回(axios for eg返回承诺),但如果没有,您可以使用
承诺
,而不是
异步/等待
,并将您的请求一个接一个地链接起来

服务器应该返回一个承诺,在这种情况下,wait将等待它得到解决。在下面的代码中,我对服务器进行了模拟,以测试整个代码。它将同步完成这项工作

const服务器={
post:函数(url、数据){
常数时间=300+数学随机()*1500;
log(“在“+url+”…(+Math.round(time)+“ms)”发布);
返回新承诺(resolve=>setTimeout(()=>resolve(),time)
);
}
};
异步函数doSave(事件){
等待server.post(“/insertRecord”{
名字:“乔”
});
//完成上述要求后必须工作
log('插入记录后工作');
等待server.post(“/changeCountry”{
国名:“美国”
});
//完成上述要求后必须工作
console.log(‘变更后工作’);
等待server.post(“/satge”{
第五阶段
});
}

doSave()服务器应该返回一个承诺,在这种情况下,wait将等待它得到解决。在下面的代码中,我对服务器进行了模拟,以测试整个代码。它将同步完成这项工作

const服务器={
post:函数(url、数据){
常数时间=300+数学随机()*1500;
log(“在“+url+”…(+Math.round(time)+“ms)”发布);
返回新承诺(resolve=>setTimeout(()=>resolve(),time)
);
}
};
异步函数doSave(事件){
等待server.post(“/insertRecord”{
名字:“乔”
});
//完成上述要求后必须工作
log('插入记录后工作');
等待server.post(“/changeCountry”{
国名:“美国”
});
//完成上述要求后必须工作
console.log(‘变更后工作’);
等待server.post(“/satge”{
第五阶段
});
}

doSave()嗯,就像你写的一样。它工作吗?不,它不工作如果你的应用程序因为请求的顺序而中断,那么你就做错了。这个服务器是什么类型的API/对象?就像你写的一样。它工作吗?不,它不工作如果你的应用程序因为请求的顺序而中断,你就做错了。这个服务器是什么类型的API/对象?