一个异步任务执行树,如何按照深度优先遍历的方法一次次执行?
如下图
这样一个树形结构的异步树。该怎么写才能保证每个异步操作依次等待执行。
即上一个操作完成之后再执行下一个,后一个执行可能会用到前一个执行的返回结果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如下图
这样一个树形结构的异步树。该怎么写才能保证每个异步操作依次等待执行。
即上一个操作完成之后再执行下一个,后一个执行可能会用到前一个执行的返回结果。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
可以用Promise实现。每个任务的结果用一个Promise保存,如果A依赖B则在B resolve之后才开始A.
(这个代码其实不需要任务是树形,只要求是无环图)
这样p2就会在p1之后执行了。
可参考:promise
就是实现一个
promise
的polyfill么。可以看看一个非常精简的代买实现 promise-lie如果有看不明白的地方可以交流。