【发布时间】:2021-04-18 15:46:15
【问题描述】:
我使用泛型创建了一个可重用的函数,该函数获取数据,因此每个响应都与指定的类型匹配。如何为这个函数实现一个通用返回类型,我可以在调用该函数时指定它? (代码块 2)
const fetcher = (url: string) => {
return new Promise(async (resolve, reject) => {
try {
const res = await axios.get(url, {
headers: { Accept: "application/json" },
});
resolve(res.data);
} catch (e) {
Alert.alert(e.message);
reject();
}
});
};
interface Test {
id: number;
title: string;
}
fetcher("test.com").then((value: Test) => {
// Do something with value
});
我得到的错误:
'(value: Test) => void' 类型的参数不能分配给'(value: unknown) => void | 类型的参数PromiseLike'。
参数 'value' 和 'value' 的类型不兼容。 类型“未知”不可分配给类型“测试”。 ts(2345)
【问题讨论】:
标签: typescript promise typescript-generics