Promise、asyncawait和Generator三者之间有何关联与区别?

2026-05-06 05:440阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1786个文字,预计阅读时间需要8分钟。

Promise、async/await和Generator三者之间有何关联与区别?

Promise 是一种异步微任务(如 process.nextTick、Promise.then()、catch()、finally() 等),用于解决多层嵌套回调的问题(回调地狱--小圆球运动),提高代码的可读性、可维护性。

Promise是什么:

Promise是异步微任务(process.nextTick、Promise.then() catch() finally()等)

用于解决异步多层嵌套回调的问题(回调地狱--小球运动),让代码的可读性更高、更容易维护

小球运动:一个小球元素使其按照右下左上的路径运动,点击后触发回调函数,如果不使用Promise那么就要层层嵌套回调函数

运动到右后 再到下 再到左 再到上,而此时想要修改运动路径的话,修改这一层又一层的代码会非常繁琐,而Promise的then()链就可以很好的解决这个问题

Promise使用:

Promise是ES6提供的一个构造函数,可以使用Promise构造函数new出一个实例,Promise构造函数接受一个函数作为参数这个函数有两个参数,分别是resolvereject

resolve将Promise的状态由等待变为成功(resolved),将异步操作的结果作为参数传递出去;

reject将Promise的状态变为失败(rejected),在异步操作失败时调用,将异步操作报错的错误作为参数传递过去。

阅读全文

本文共计1786个文字,预计阅读时间需要8分钟。

Promise、async/await和Generator三者之间有何关联与区别?

Promise 是一种异步微任务(如 process.nextTick、Promise.then()、catch()、finally() 等),用于解决多层嵌套回调的问题(回调地狱--小圆球运动),提高代码的可读性、可维护性。

Promise是什么:

Promise是异步微任务(process.nextTick、Promise.then() catch() finally()等)

用于解决异步多层嵌套回调的问题(回调地狱--小球运动),让代码的可读性更高、更容易维护

小球运动:一个小球元素使其按照右下左上的路径运动,点击后触发回调函数,如果不使用Promise那么就要层层嵌套回调函数

运动到右后 再到下 再到左 再到上,而此时想要修改运动路径的话,修改这一层又一层的代码会非常繁琐,而Promise的then()链就可以很好的解决这个问题

Promise使用:

Promise是ES6提供的一个构造函数,可以使用Promise构造函数new出一个实例,Promise构造函数接受一个函数作为参数这个函数有两个参数,分别是resolvereject

resolve将Promise的状态由等待变为成功(resolved),将异步操作的结果作为参数传递出去;

reject将Promise的状态变为失败(rejected),在异步操作失败时调用,将异步操作报错的错误作为参数传递过去。

阅读全文