介绍

在 JavaScript 中使用异步代码时,有时需要等待代码返回数据,然后再进一步处理数据。

例如:读取文件需要一些时间,或者从服务器获取数据可能需要一些时间,并且由于这是异步任务,因此它会被委托。

然而,在我们可以在代码中处理和执行任何进一步操作之前,我们需要这些数据。这就是 Promise 非常有帮助的地方。

什么是承诺?

在引入 Promise 之前,管理异步操作是使用回调完成的。

回调是作为参数传递给另一个函数的函数,并在异步操作完成后稍后执行。

然而,随着程序变得越来越复杂,管理回调变得具有挑战性,导致了通常所说的“回调地狱”或“厄运金字塔”。

在这种情况下,嵌套回调会使代码难以阅读和维护。

引入 Promise 是为了解决这些问题,并提供更好/更干净的方法来处理异步操作。

那么Promise到底是什么?嗯,promise 是一个对象,表示异步操作的最终完成或失败及其结果值。

简而言之,如果异步任务成功完成,它将返回带有数据的解析对象,如果任务失败,它将返回带有错误的拒绝对象。 Promise 确保一旦操作完成,您可以根据操作的完成或失败做任何您想做的事情。

承诺的状态

Promise 具有三种状态:

待处理:Promise 正在等待处理,既没有解决也没有解决
已解决:一旦承诺得到解决,它就会将数据返回给then()方法
被拒绝:一旦承诺被拒绝,错误将返回到catch()<

04-24 21:22