Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json TypeScript从API获取数据_Json_Typescript_Api - Fatal编程技术网

Json TypeScript从API获取数据

Json TypeScript从API获取数据,json,typescript,api,Json,Typescript,Api,我希望下面的代码能够从我设置的简单API获取JSON数据 export class FaqFakeDb { public static data = fetch('https://#######.co.uk/api/faq/'); } 这是一个FAQ页面,其目的是从API中提取数据。我不熟悉打字,所以如果我犯了一个简单的错误,请原谅我 我希望它能像这样工作: export class FaqFakeDb { public static data = [ {

我希望下面的代码能够从我设置的简单API获取JSON数据

export class FaqFakeDb
{ 
    public static data = fetch('https://#######.co.uk/api/faq/');
}
这是一个FAQ页面,其目的是从API中提取数据。我不熟悉打字,所以如果我犯了一个简单的错误,请原谅我

我希望它能像这样工作:

export class FaqFakeDb
{
    public static data = [  
        {  
           "id":"1",
           "question":"test1",
           "answer":"test1"
        },
        {  
           "id":"2",
           "question":"test1",
           "answer":"test1"
        },
        {  
           "id":"3",
           "question":"test1",
           "answer":"test1"
        }
     ];
  }
任何帮助都会让我受益匪浅:

fetch返回一个承诺,所以数据就是一个承诺。任何时候,当您想要访问数据时,都必须使用async/await或.then或其他方法来处理承诺。如果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,而不是在声明任意类时进行调用。

您似乎根本没有使用Angular,为什么要使用标记?很抱歉,该项目是在Angular中内置的,但此特定脚本不是,我会删除它。如果你在你的项目中使用Angular,为什么不使用他们的HTTP模块而不是fetch API?TypeScript对我来说比Angular更熟悉,这就是模板的设置方式,所以我现在只是想让它以这种方式工作,你知道我做错了什么吗?可能重复感谢你的回答,我将把API url放在哪里?抱歉,我对typescript很陌生。你会把它放在哪里?JSON将从API请求,我看不到在你的示例中放置JSON url的位置,thanks@DanielFaulkner你已经把它放进FaqFakeDb了。我的代码应该可以与你已经拥有的类一起工作。你可以用我的代码演示示例吗?我似乎无法让它工作,谢谢