es6 Generator应用

Generator案例应用:

应用场景:假设网易云音乐要根据点击的某首歌来获取该歌曲下面的评论,这就要求在请求一首歌曲的成功的回调中,再次请求评论

这个问题我们之前用Promise解决:https://www.cnblogs.com/zxmonster/p/11895734.htm

 现在用Generator解决:

首先获取id为3的歌曲内容:

 获取结果如下:

 获取到歌曲内容之后:

1.请求数据中的"commentUrl"字段来拼该歌曲的评论的url并且请求评论列表

2.要想执行请求评论的yield语句,就要调用next移动指针并传入一个参数,作为当前yield的返回值

 想要next参数传入的是获取评论列表的url,那么需要在上次请求成功的时候,拼接该歌曲的评论的url处调用next

 相反的,如果上次请求失败了,那么后面的操作就无法进行

 这样就可以请求评论内容了

原文地址:https://www.cnblogs.com/zxmonster/p/11923816.html