6-9 面试题:自定义守卫如何判断 Promise 类型
来源:6-9 面试题:自定义守卫如何判断 Promise 类型

jimmys
2023-03-23
function fetchData(): Promise<void> {
return new Promise((resolve, reject) => {
resolve();
})
}
function isPromise(value: any): value is Promise<any> {
return value instanceof Promise;
}
// 使用自定义守卫来检查 fetchResult 是否为 Promise 类型
const fetchResult = fetchData();
if (isPromise(fetchResult)) {
fetchResult.then(data => {
// 在这里可以安全地访问 data
});
}
写回答
2回答
-
媳妇的号我来学
2024-01-09
const promise = <any>Promise.resolve() const isPromise = (p: any): p is Promise<any> => { return Object.prototype.toString.call(p) === '[object Promise]' } if (isPromise(promise)) { promise.then() } else { //不是Promise }
00 -
keviny79
2023-03-23
可以的,正确
00
相似问题