我正在尝试在TypeScript中重新创建可在C#中工作的东西。在下面的代码中,我期望response1和response2都为a Promise<number>,但response1似乎无法正确推断出泛型类型。
这可能吗?还是TypeScript无法做的事情?
interface IRequest<TResponse> {}
interface MyRequest extends IRequest<number> {
id: string;
}
function execute<TResponse>(request: IRequest<TResponse>): Promise<TResponse>{
return Promise.reject("not implemented");
}
// const response1: Promise<{}>
const response1 = execute(<MyRequest>{
id: "123"
});
// const response2: Promise<number>
const response2 = execute(<IRequest<number>>{
id: "123"
});
Run Code Online (Sandbox Code Playgroud)