如何避免获取数据时为 null 或 undefined?
2022-10-27
709
我从 catch(error) console.log 中收到错误,内容是 LOG [TypeError: Array.from 需要类似数组的对象 - 非 null 或 undefined]
现在我想在 我的函数中避免出现 null 或 undefined ,然后再在 useState 中更新它。 那么我怎样才能避免我的代码中出现 null 或 undefined?
我应该在哪里使用该函数,因为我正在从 API 中获取数据。任何人都可以帮助使用过滤器或任何函数来避免我的代码中出现 null 或 undefined。
感谢您的提前尝试!
const [item, setItem] = useState();
async function fD() {
try {
const rA = await Promise.all(devices?.map((id) => {
const dT = fetch("https://jsonplaceholder.typicode.com/posts/1")
.then((response) => response.json())
.then((a) => {
return a;
})
.catch((error) => console.error(error));
return dT;
}));
setItem(rA);
}
catch (error) {
console.log(error);
}
}
2个回答
我发现
https://jsonplaceholder.typicode.com/posts/11111
响应
{
您应该使用
rA.filter(s=>s?.id ?? false)
const [item, setItem] = useState();
async function fD() {
const rA = await Promise.all(
(devices ?? []).map((id) => {
const dT = fetch('https://jsonplaceholder.typicode.com/posts/1')
.then((response) => response.json())
.catch((error) => console.error(error));
return dT;
}),
);
setItem(rA.filter(s=>s?.id ?? false));
}
lisonge
2022-10-27
在这种情况下,null 或 undefined 来自设备,因此需要确保设备值不包含任何 null 或 undefine,这足以解决顶部提到的错误。 我已经解决了这些问题并弄清楚了,只是认为我应该在这里分享这些知识。
Sabbir Ahhmed
2022-11-04