我有:
const neuroResponses = await Promise.allSettled(neuroRequests);
const ret = neuroResponses.filter(response => response?.value?.data?.result[0]?.generated_text?.length > 0).map(({ value }) => value.data.result[0]?.generated_text);
但我有一个打字稿问题:
Property 'value' does not exist on type 'PromiseSettledResult<AxiosResponse<any>>'.
Property 'value' does not exist on type 'PromiseRejectedResult'.
有没有更好的方法来输入这个?
1条答案
按热度按时间agyaoht71#
条件链接不会改变这样一个事实,即从类型的Angular 来看,您试图使用一个不存在的属性。如果该属性包含该值,则它只是针对您的程序进行辩护
undefined
. 您仍在尝试使用类型上可能不存在的属性。您可以使用类型保护过滤掉失败的响应。例如,内联类型的保护:
如果经常这样做,您可能需要类型保护功能:
然后你可以这样使用它:
或