gpt4 book ai didi

Typescript 解构函数的返回值,可以是 void 或对象

转载 作者:行者123 更新时间:2023-12-04 07:56:46 24 4
gpt4 key购买 nike

我使用了一个具有以下声明的函数的包:

const getList: (params?: ListRequestParams | undefined) => Promise<void | {
items: any[];
pageInfo: PageInfo;
}>
我尝试使用以下方法解构调用此函数的返回值:
const {items, pageInfo} = await getList(some_param);
但它可能由于“空”部分而不起作用。使用临时值有效,但看起来很笨拙。
const temp = await getList(some_params);

if(temp !== undefined)
{
const { items, pageInfo } = temp;
}
只是想知道在这种情况下有更好的解构方法。谢谢。

最佳答案

确实,我们无法解构void/undefined这是一件好事:当 void 时也有必要处理这种情况。返回,在您的示例中带有保护子句 if not undefined then ...如果你想让你的代码专注于快乐路径并避免临时变量,你可以使用 Maybe类型 ( npm ) 及其方法 map() :

Maybe
.ofNullable(await getList(some_params))
.map(({ items, pageInfo }) => { /*...*/ });

关于Typescript 解构函数的返回值,可以是 void 或对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66661071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com