最近项目中遇到一个问题,需要angular6发送多个同步请求,所有的请求结果返回处理后再执行后面的逻辑,经过百度查找资料,解决方案如下:
ngOnInit() { this.getMockDataFuc(); } async getMockDataFuc() { const result = await this.getPromiseData(); console.log('打印result数据 ' + result['state']); if (result['state']) { for (let i = 0; i < 2; i++) { const result1 = await this.getPromiseData(); console.log(result1); } } console.log('最后打印的'); } getPromiseData () { const result = this.getInfoService.getMockData().toPromise(); return result; }
说明: 1、调用的最外层函数中使用 async 修饰, 在方法体重,使用 await 修饰要发送的同步请求。
2、getPromiseData 方法是为了返回同步请求的res。toPromise,将res转成Promise对象
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦