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

回到顶部