搜索

首页  >  问答  >  正文

node.js - 求解 你不知道的JavaScript中 Generator+Promise的一段示例代码

雷雷
某草草某草草2797 天前679

全部回复(2)我来回复

  • ringa_lee

    ringa_lee2017-06-15 09:23:42

    第一个迭代器的next调用后会执行到第一个yield这里,这时候并未赋值,而是返回了一个基于promise的ajax函数
    这个promise决议后会将ajax请求的返回值作为参数的形式赋值给then中第一个函数作为参数
    像这样

    (() => new Promise((resolve => { resolve("我是参数"); })))().then(data => console.log(data), err => { throw err; })    //"我是参数"

    接下来会把这个参数赋值与第一个yield的位置并执行完这个函数

    回复
    0
  • 天蓬老师

    天蓬老师2017-06-15 09:23:42

    //这里拿到的 text 应该没有赋到值呀

    理解错误了,text 就是 request 成功的结果,建议你把 Promise 再理解一遍

    回复
    0
  • 取消回复