异步的解决方案

64 阅读1分钟

异步的解决历史

1 callback 把将来要做的事情放在callback里面 到时间执行这个回调 缺点 回调地狱
2 thank 函数 把回调的语法转化成另一种形式,把前面的参数放在父函数里,返回一个tanck函数,这个thank函数只接收callback 结合generator 解决回调地狱
3 promise 要写很多then
4generator + promise 解决一堆的then 调用要自己写递归 如果不写要用co库
5async ,await 是 generator 的语法糖

image.png 为什么会行程回调地狱

async await 是generator函数的语法糖 Generator函数是es6的,作用是函数执行时可以暂停,而普通函数是一直执行到return,同样也是异步的一种解决方案 可以在函数外部拿到函数的执行权 函数内部可以用 yield 进行暂停 定义普通函数

image.png

image.png

image.png

image.png

image.png

image.png

柯里化和thank的区别

image.png

异步代码就开始的解决方案 callback 在层次多的时候会导致回调地狱

image.png

image.png

image.png

promise + ganerator 的方式解决异步

image.png

递归调用

image.png

image.png