📌  相关文章
📜  如果对象看起来像 Promise,则返回 true 的 JavaScript 程序

📅  最后修改于: 2022-05-13 01:56:41.175000             🧑  作者: Mango

如果对象看起来像 Promise,则返回 true 的 JavaScript 程序

在 JavaScript 中, Promises是将生产代码和消费代码链接在一起的对象。简而言之,JavaScript 中的 Promise 与现实生活中的 Promise 含义相同。每当创建 Promise 时,都会有 3 个条件,或者说我们可以预期的结果:

  • 解决
  • 拒绝
  • 待办的

正如上面的名字所暗示的,每当一个 Promise 被创建时,我们要么得到 Promise 的履行,即 Promise 被解决,或者如果我们没有得到预期的结果,即 Promise 没有得到履行,它被拒绝。而 promise 既没有被解决也没有被拒绝的状态称为pending

句法:

var promise = new Promise(function(resolve, reject) {
    (the producing code)
});

在本文中,我们将确定 JavaScript 对象是否是 Promise。现在有很多方法可以识别相同的,让我们看看它们是什么以及我们如何轻松识别 Promise。

方法:

  • 取一组变量和对象。
  • 将这些值传递给函数isPromise(),该函数实际上检查不同的条件并识别 Promise。

方法一:使用typeof运算符:

Javascript


Javascript


Javascript


输出:

true
false
false
false

方法 2:通过检查传递的值 p 是否为object并检查 p.then 是否为函数。

Javascript


输出:

true
false
false
false

方法 3:通过检查Promise.resolve(p) == p:

Javascript


输出:

true
false
false
false