怎么判断一个值是不是promise
时间: 2023-07-07 19:23:38 浏览: 388
Javascript中判断一个值是否为undefined的方法详解
要判断一个值是否为 Promise,可以使用 Promise.resolve(value) 方法。如果 value 是 Promise 对象,则直接返回这个对象;如果不是 Promise 对象,则返回一个新的 Promise 对象,状态为 resolved,并且 Promise 对象的结果为 value。
以下是一个示例代码:
```javascript
function isPromise(value) {
return Promise.resolve(value) instanceof Promise;
}
console.log(isPromise(Promise.resolve())); // true
console.log(isPromise(new Promise((resolve, reject) => {}))); // true
console.log(isPromise(1)); // false
console.log(isPromise('hello')); // false
console.log(isPromise([])); // false
console.log(isPromise({})); // false
console.log(isPromise(null)); // false
console.log(isPromise(undefined)); // false
```
在上面的代码中,我们定义了一个 isPromise 函数,它接受一个参数 value,返回一个布尔值,表示 value 是否为 Promise 对象。在函数内部,我们使用 Promise.resolve(value) 方法将 value 转化为 Promise 对象,并且判断这个对象是否为 Promise 类型。
阅读全文