async和await失效处理方法

发布时间 2023-06-18 10:53:02作者: 对月当歌

1.在方法中需要调用,post请求接口返回的结果后,在继续下一步,发现不生效,原因如下:

async和await ,这个await只有在他等待的函数返回的是Promise的时候才会生效,所以异步操作必须包含Promise里面。

解决方法:不生效时,考虑await的方法是否返回的是Promise,若不是,用Promise包装即可。

2.其他不生效的原因需要具体情况具体分析,如:

map/forEach中await一个返回的Promise的函数依然不生效,原因map/forEach内部使用了while结合callback方式来执行函数,await不会等待callback的执行。

解决方法:改用for循环,或者在map/forEach外,用promise.all()包装。