Promise、asyncawait和Generator三者之间有何关联与区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1786个文字,预计阅读时间需要8分钟。
Promise 是一种异步微任务(如 process.nextTick、Promise.then()、catch()、finally() 等),用于解决多层嵌套回调的问题(回调地狱--小圆球运动),提高代码的可读性、可维护性。
Promise是什么:
Promise是异步微任务(process.nextTick、Promise.then() catch() finally()等)
用于解决异步多层嵌套回调的问题(回调地狱--小球运动),让代码的可读性更高、更容易维护
小球运动:一个小球元素使其按照右下左上的路径运动,点击后触发回调函数,如果不使用Promise那么就要层层嵌套回调函数
运动到右后 再到下 再到左 再到上,而此时想要修改运动路径的话,修改这一层又一层的代码会非常繁琐,而Promise的then()链就可以很好的解决这个问题
Promise使用:
Promise是ES6提供的一个构造函数,可以使用Promise构造函数new出一个实例,Promise构造函数接受一个函数作为参数,这个函数有两个参数,分别是resolve和reject;
resolve将Promise的状态由等待变为成功(resolved),将异步操作的结果作为参数传递出去;
reject将Promise的状态变为失败(rejected),在异步操作失败时调用,将异步操作报错的错误作为参数传递过去。
本文共计1786个文字,预计阅读时间需要8分钟。
Promise 是一种异步微任务(如 process.nextTick、Promise.then()、catch()、finally() 等),用于解决多层嵌套回调的问题(回调地狱--小圆球运动),提高代码的可读性、可维护性。
Promise是什么:
Promise是异步微任务(process.nextTick、Promise.then() catch() finally()等)
用于解决异步多层嵌套回调的问题(回调地狱--小球运动),让代码的可读性更高、更容易维护
小球运动:一个小球元素使其按照右下左上的路径运动,点击后触发回调函数,如果不使用Promise那么就要层层嵌套回调函数
运动到右后 再到下 再到左 再到上,而此时想要修改运动路径的话,修改这一层又一层的代码会非常繁琐,而Promise的then()链就可以很好的解决这个问题
Promise使用:
Promise是ES6提供的一个构造函数,可以使用Promise构造函数new出一个实例,Promise构造函数接受一个函数作为参数,这个函数有两个参数,分别是resolve和reject;
resolve将Promise的状态由等待变为成功(resolved),将异步操作的结果作为参数传递出去;
reject将Promise的状态变为失败(rejected),在异步操作失败时调用,将异步操作报错的错误作为参数传递过去。

