错误写法
错误原因:没有弄清楚JS的执行顺序,setTimeout()是一个异步宏任务,晚于同步代码的执行,所以我们打印出来的是undefined
Promise解决方案:
解决方法:通过new Promise()将异步操作包裹住,然后将数据resolve()出去,再在.then()方法中获取对应的值。
总结:对于一些异步操作后获取的数据我们无法直接将其return出去,那么我们可以通过new Promise()将异步操作包裹住,将其resolve()出去,再在.then()方法中进行对应的操作