2022-11-15 Promise处理异步问题

55 阅读1分钟

错误写法 image.png

错误原因:没有弄清楚JS的执行顺序,setTimeout()是一个异步宏任务,晚于同步代码的执行,所以我们打印出来的是undefined

Promise解决方案:

image.png

解决方法:通过new Promise()将异步操作包裹住,然后将数据resolve()出去,再在.then()方法中获取对应的值。

总结:对于一些异步操作后获取的数据我们无法直接将其return出去,那么我们可以通过new Promise()将异步操作包裹住,将其resolve()出去,再在.then()方法中进行对应的操作