读取包含在承诺中的对象的 属性 的正确方法是什么? (获取类型错误)
What is the correct way to read a property of an object wrapped in a promise? (Getting TypeError)
我有一个异步函数,它从 API 中获取 json,然后 return 在 Node.js 中获取它。本质上,
export async function getThing(URL){
let res = await fetch(URL);
let data = await res.json();
return data;
}
据我了解,这应该return一个承诺。在调用函数中,我将 this 分配给一个变量,然后将其他变量分配给它的属性,并从中构建一个对象。
async function dostuff(){
let inner = await exportedfile.getThing(URL);
let gamedescription = inner.propertyOfInner;
}
这似乎工作成功,正在使用正确的字段构建对象。然而,与此同时,每次我这样做时它都会抛出错误,reading
Uncaught (in promise) TypeError: Cannot read property 'propertyOfInner' of undefined
尽管它显然正在读取 属性 成功。因此,虽然在承诺解决时正确填充了字段,但显然我做错了什么。读取包含在承诺中的对象的 属性 的正确方法是什么?
未捕获(承诺)TypeError:无法读取未定义的 属性 'propertyOfInner'
以上错误意味着您无法从未定义的地方访问 'propertyOfInner',这意味着您的 'inner' 变量在某些时候未定义。
我建议您按如下方式访问 属性
if (inner) {let gamedescription = inner.propertyOfInner;}
我有一个异步函数,它从 API 中获取 json,然后 return 在 Node.js 中获取它。本质上,
export async function getThing(URL){
let res = await fetch(URL);
let data = await res.json();
return data;
}
据我了解,这应该return一个承诺。在调用函数中,我将 this 分配给一个变量,然后将其他变量分配给它的属性,并从中构建一个对象。
async function dostuff(){
let inner = await exportedfile.getThing(URL);
let gamedescription = inner.propertyOfInner;
}
这似乎工作成功,正在使用正确的字段构建对象。然而,与此同时,每次我这样做时它都会抛出错误,reading
Uncaught (in promise) TypeError: Cannot read property 'propertyOfInner' of undefined
尽管它显然正在读取 属性 成功。因此,虽然在承诺解决时正确填充了字段,但显然我做错了什么。读取包含在承诺中的对象的 属性 的正确方法是什么?
未捕获(承诺)TypeError:无法读取未定义的 属性 'propertyOfInner'
以上错误意味着您无法从未定义的地方访问 'propertyOfInner',这意味着您的 'inner' 变量在某些时候未定义。
我建议您按如下方式访问 属性
if (inner) {let gamedescription = inner.propertyOfInner;}