我希望下面的代码能够从我设置的简单API中获取JSON数据。
export class FaqFakeDb
{
public static data = fetch('https://#######.co.uk/api/faq/');
}
这是一个FAQ页面,用于从API中提取数据。我是Typescript和Angular的新手,所以如果我犯了一个简单的错误,请原谅我。
我希望它具有以下功能:
export class FaqFakeDb
{
public static data = [
{
"id":"1",
"question":"test1",
"answer":"test1"
},
{
"id":"2",
"question":"test1",
"answer":"test1"
},
{
"id":"3",
"question":"test1",
"answer":"test1"
}
];
}
任何帮助都会令我感激不尽:)
答案 0 :(得分:1)
fetch
返回一个承诺,因此data
将是一个承诺。每当您要访问数据时,都必须使用async / await或.then
或其他方式来处理promise。万一您的API调用失败,您也没有任何错误处理。
如何处理此问题的一个示例是:
async ngOnInit() {
try {
const response = await FaqFakeDb.data;
this.quesitons = await response.json();
} catch {
// fetch encountered an error; you can handle it here.
}
}
但是,我建议您改用Angular内置的HttpClientModule并根据需要(在需要它的组件中)而不是在声明任意类时进行API调用。