JavaScript Promise的rejected属性存储在哪里

JavaScript Promise的rejected属性存储在哪里

在本文中,我们将尝试理解一些内容,包括用于声明Promise的语法(并附有示例)以及在JavaScript中准确地存储Promise的rejected属性的位置。

让我们首先看一下下面提到的部分,该部分说明了声明Promise的语法以及在JavaScript中如何在稍后执行其结果并捕获错误(如果捕获到错误)。

语法: 以下是我们可以在JavaScript中使用的启发式语法来声明Promise:

new Promise((resolve, reject) => {
    // resolve() method or reject() method
}).then((result) => {
    // Result
}).catch((error) =>{
    // Caught error
})
JavaScript

让我们看一下下面的示例,它将帮助我们理解JavaScript中promise的声明及其正确执行。

示例: 在这个示例中,我们将简单地使用上述声明语法创建一个promise,然后通过then()和catch()方法执行结果并捕获错误。

JavaScript

<script> 
    let new_promise = new Promise((resolve, reject) => { 
        resolve("This topic is available on "
            + "GeeksforGeeks platform...!!"); 
    }); 
  
    new_promise 
        .then((result) => { 
            console.log(result); 
        }) 
        .catch((error) => { 
            console.log(error); 
        }); 
</script>
JavaScript

输出结果:

This topic is available on GeeksforGeeks platform...!!
JavaScript

Promise的rejected属性存储在哪里?

由于JavaScript没有提供任何特殊的显式属性或公共API(应用程序编程接口),通过这些可以外部地识别该特定属性,所以我们可以在内部的promise对象本身中检查promise的rejected属性。

以下说明性示例及其输出将帮助我们确定在JavaScript中promise的rejected属性实际上存储在什么位置:

示例:

在这个示例中,我们将简单地创建一个promise,它会使用reject()方法显示一个promise的rejected状态,以及传递给reject()方法的某些消息,我们将在浏览器的控制台输出中以图文形式可视化。

Javascript

<script> 
    let new_promise = new Promise((resolve, reject) => { 
        reject("Rejected Promise...!!"); 
    }); 
  
    new_promise 
        .then((result) => { 
            console.log(result); 
        }) 
        .catch((error) => { 
            console.log(error); 
        }); 
</script>
JavaScript

将下面的英文翻译成中文,不解释,保留HTML格式:

输出:

JavaScript Promise的rejected属性存储在哪里

从上面的输出(通过图示表示)可以看到,根据 Promise 的内部对象属性 PromiseState,被拒绝的 Promise 被存储了起来。当我们实现 catch 来实现我们的 Promise 被执行时,PromiseState 属性的值变为 Fulfilled。这就是我们如何在 JavaScript 中检查或可视化 Promise 的状态。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册