Async/Await就是一个自执行generate函数。利用generate函数的特性把异步的代码写成“同步”的形式。

    1. var fetch = require('node-fetch');
    2. function* gen(){ // 这里的*可以看成 async
    3. var url = 'https://api.github.com/users/github';
    4. var result = yield fetch(url); // 这里的yield可以看成 await
    5. console.log(result.bio);
    6. }
    1. var g = gen();
    2. var result = g.next();
    3. result.value.then(function(data){
    4. return data.json();
    5. }).then(function(data){
    6. g.next(data);
    7. });