采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
setTimeout(() => { resolve(result.resolve_executor_value); },5)
我认为这种做法是不可取的,测试代码中异步任务的时延都是5ms,这只是一种巧合的设定;如果某一个then中的异步任务超过5ms,即在某一个事件循环中,上面代码的setTimeout被放入执行队列,而resolveInthen中的异步任务还没有到执行的时间,这样就会导致后面的then先于当前的then执行,这是不符合Promise执行逻辑的
这是个小问题,使用async ...await 轻松解决,增加这两个关键字后,就不会出现后面的setTimeout先执行了 参加截图
async..await...可以这么做是没错,只是视频课里面讲到setTimeout可以实现效果是有前提条件的,并不是通用做法,这个最好还是跟同学们解释清楚比较好,避免误导
好的谢谢你提及这个问题,我讲时忘了说这个问题了,到时我再补一个图文说明下, 你说的通用没问题,这个比常规写法更简洁,更好理解!
登录后可查看更多问答,登录/注册
轻松驾驭 TypeScript 高级用法, 突破前端成长瓶颈
1.3k 15
954 12
1.1k 11
1.0k 11
747 10