然后我们再来看一个案例

这里我们说生成器函数是针对异步编程的解决方案,我们看看他是怎么解决的,
我们知道这个setTimeout是异步执行的,那么
我们这里现在有这样一个需求,我们先拿到某个用户数据,然后拿到用户数据下的某个订单数据,然后拿到这个订单数据
下面的某个商品数据.
可以看到上面我们写了3个方法.每个都是1s执行.

然后我们怎么办?
有人说可以按照顺序调用,不行,因为是异步的不能保证先后顺序,那么怎么保证先后顺序呢?

可以这样,我们写一个生成器函数,然后在生成器函数中调用
按照顺序调用getUsers();
........
然后最后再去调用一下itera
本文通过一个实例介绍了如何使用ES6的生成器函数来处理异步编程中的顺序执行问题。在面对需要按顺序获取用户、订单和商品数据的场景下,传统异步方法无法保证执行顺序,但通过生成器函数可以实现数据的有序获取,解决了异步操作同步化的问题。
订阅专栏 解锁全文
600

被折叠的 条评论
为什么被折叠?



