异步有序问题的解决
Posted freeland
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异步有序问题的解决相关的知识,希望对你有一定的参考价值。
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
以上是关于异步有序问题的解决的主要内容,如果未能解决你的问题,请参考以下文章