我在用twilio-node pkg,还有函数
lookupResponse = await twilioClient.lookups.v1.phoneNumbers('+123').fetch({type: 'carrier'});具有明确定义的返回类型Promise。因为我预先初始化了lookupResponse,所以我想直接提取/推断函数的返回类型。
现在,我已经知道如何打开承诺的类型:
export type ThenArg<T> = T extends PromiseLike<infer U> ? U : T;但是如何指定以前链接过的phoneNumbers函数的参数呢?试试看:
let lookupResponse: ThenArg<
ReturnType<typeof twilioClient.lookups.v1.phoneNumbers.fetch>
>;抛出Property 'fetch' does not exist on type 'PhoneNumberListInstance'。
我要在这里通过什么?
let lookupResponse: ThenArg<
ReturnType<typeof twilioClient.lookups.v1.phoneNumbers.???.fetch>
// ^^^
>;发布于 2021-05-29 11:23:06
我对Twilio一无所知,所以如果我把你引向错误的方向,我会提前道歉,但是基于您的代码,phoneNumbers是一个函数,而不仅仅是一个属性。因此,您需要fetch函数的返回类型,即返回类型的twilioClient.lookups.v1.phoneNumbers。类似于:
type LookupResponseType = ThenArg<
ReturnType<
ReturnType<
typeof twilioClient["lookups"]["v1"]["phoneNumbers"]
>["fetch"]
>
>;https://stackoverflow.com/questions/67750712
复制相似问题