微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

异步有序问题的解决

1、使用回调函数 ===》回调地狱,不便于代码的阅读和修改

2、Promise

  (1)、  new Promise( )
    promiseValue
        通过resolve传递的参数
        Promise.resolve(value)
            返回一个以定值解析后的promise对象
            三种情况:
                1、普通值
                2、promise对象
                3、thenable对象


(2)、.then( )

    new promise 执行完毕,执行 .then的代码
    返回值是一个promise对象,初始状态是pending
    监听器被触发,监听函数执行完成后,
    返回的promise对象的状态发生改变,
 (如果返回一个值,则会成为返回的promise对象的value)
   改变的情况由监听函数的执行返回值决定

 

3、生成器 generator
    function* genFn(){ 函数体  }   生成器函数
    let gen = genFn();  调用生成器函数得到生成器
    gen.next( );生成器的next方法,将生成器分段调用
        结果对象
            next方法调用不仅仅使函数分段调用了,还得到一个结果对象,包含value属性和done属性
        yield
            生成器函数分段的关键字,后面跟一个value值,就是结果对象的value值

4、ES7  async  await

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐