一.co

generator必须要结合co这个库来使用
引入cohttps://www.bootcdn.cn/co/

  1. <script src="https://cdn.bootcss.com/co/4.1.0/index.js"></script>
  1. <script>
  2. /*generator 必须要结合co这个库来用 */
  3. async function go(x){
  4. return x;
  5. }
  6. co(function *(){
  7. var data=yield go(3);
  8. console.log(data); //3
  9. var y=yield go(4);
  10. console.log(y) //4
  11. })
  12. </script>

二.http-generator

  1. <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
  1. <script>
  2. var baseUrl="http://192.168.14.49:5000/"
  3. function http(url){
  4. return $.ajax({
  5. url:baseUrl+url,
  6. dataType:"json"
  7. })
  8. }
  9. function *getData(){
  10. var id=yield http("top/playlist");
  11. console.log(id)
  12. yield http(`playlist/detail?id=${id}`);
  13. }
  14. var res=getData();
  15. res.next().value.then(data=>{
  16. var {id,name} =data.playlists[0];
  17. res.next(id).value.then(res=>{
  18. console.log(res)
  19. })
  20. })
  21. </script>