如果对象看起来像 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