Как уже упоминалось в комментариях к OP, я также не смог воспроизвести проблему. Вот ссылка на TypeScript Playground , где я пытался.
Я предполагаю, что каким-то образом , TypeScript не может вывести тип возврата getCustomer()
(что неверно для версии игровой площадки, где легко выводится тип Promise<unknown>
).
Вы можете попытаться явно указать тип возвращаемого значения в сигнатуре функции:
interface User {
id: number
name: string
}
function getCustomer(): Promise<User> {
return new Promise(resolve => {
setTimeout(() => {
resolve({ id: 1, name: 'John Doe' });
}, 4000);
});
}
PS Это определенно что-то не так с вашей настройкой, попробуйте воспроизвести его на TypeScript Playground и поделиться ссылкой. Это поможет нам помочь вам.