gpt4 book ai didi

javascript - 哪种 js 编码实践更好?

转载 作者:行者123 更新时间:2023-12-01 02:45:30 24 4
gpt4 key购买 nike

我需要发送 api 调用来从多个源获取数据。我获取的数据具有不同的格式(数组、对象、嵌套数组)。我感觉很好的一件事是有一个功能可以为我提取我需要的部分。

现在我想知道我是否应该有这个提取功能,或者只是在使用它时提取我需要的数据。(简单地说:哪一个是更好的做法?)

我个人更喜欢后一种,因为我不需要来回确定需要提取哪部分数据。例如。

内联提取

const  data = get("example.com").data[0].Users;

使用函数提取数据

const data = getData("example.com";

const getData = async(url)=>{
const rawData= await get(url);
switch(url){
case EXAMPLE_URL:
return rawData.data[0].Users;
case OTHER_EXAMPLE_URL:
return rawData.data;
case OTHER_URL:
return rawData.data[0].Enum;

}
}

最佳答案

我会把它分成多个函数。在我看来,调用者不需要知道要传递什么 url 来获取一些不同的值。

并且您不知道最终是否会从同一网址获取两个不同的值。

//maybe using a simple utility
const getUrlPath = (url, ...path) => {
let fetchPath = path.reduceRight((next, key) => obj => next(obj[key]), identity);
return () => get(url).then(fetchPath);
}
const identity = v => v;

//and then creating the different functions to get the different values
const getExample = getUrlPath(EXAMPLE_URL, "data", 0, "Users");
const getOther = getUrlPath(OTHER_EXAMPLE_URL, "data");
...

关于javascript - 哪种 js 编码实践更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47275479/

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