TS中怎么约束函数返回值是promiss呢?
不是很会TS,请问返回值是一个promiss,怎么约束,谢谢
login(params).then((res) => { return getInfo()
}).then((res) => {
...
})
回答:
const getUser = () => { return new Promise<number>((resolve) => {
resolve(111);
})
}
const login = () => {
return new Promise<string>((resolve) => {
resolve('111');
})
}
login()
.then((res) =>{
// 如果要推断出promise就 return getUser;
return getUser();
})
.then(res => {
// res就推断出来是number了
})
回答:
// 约束返回值必须是Promise类型
function getInfo<T = unknown>(): Promise<T> { const info = login(params).then((res) => {
return getInfo()
})
return info;
}
// 知道是Promise类型就可以使用then方法
getInfo<number>().then((result) => { console.log(result.toString())
})
回答:
// 方式一function getData(): Promise<string> {
return new Promise((resolve, reject) => {
resolve("hello world");
});
}
// 方式二
async function getData2() {
return "hello world";
}
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
以上是 TS中怎么约束函数返回值是promiss呢? 的全部内容, 来源链接: utcz.com/p/933827.html