6-9面试提,如何判断promise类型

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

曹雨sama

2023-07-08

方法一,instanceof进行判断

const isPromise = (params: Promise<void> | any): params is Promise<void> => {
    return params instanceof Promise
}

方法二、判断传入参数是否有finally、then

const pro = new Promise((resolve, reject)=>{})

// 如果有.finally 或者.then方法,也可以判断为promise对象
if ("finally" in pro && "catch" in pro) {
    pro.then(()=>{})
}
写回答

1回答

keviny79

2023-07-08

params is Promise<void> 修改为  params is Promise<any> 这一点改下,其他正确

1
0

TypeScript 从入门到深度掌握,晋级TS高手

200+技术点,22 场景应用,Vue3 源码 TS 用法剖析

430 学习 · 53 问题

查看课程