请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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
    });
}

正在回答 回答被采纳积分+3

插入代码

2回答

媳妇的号我来学 2024-01-09 16:27:58
1
2
3
4
5
6
7
8
9
10
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
}


0 回复 有任何疑惑可以回复我~
keviny79 2023-03-23 17:41:54

可以的,正确

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号