如何将我的其余API响应数据保存到本地变量(在打字稿的异步函数中)?

时间:2019-03-29 21:35:36

标签: angular typescript

我正在开发一个应用程序,该应用程序需要从REST API(我成功获取)中获取一些数据。但是,当我收到该数据时,由于它是一个异步函数,因此无法保存该数据(代码中的响应变量)。

我试图将“ response”变量推入我的SOURCE数据结构中,但是当我在线调试它时,它显示为“ undefined”。

这是我的ngOninit函数的示例代码:

ngOnInit() {

  var SOURCES = [];
  this.databaseService.loadSourceList("source", null).subscribe(response => {
      //response is returning data that I want
      if (response) {
        ///the log below verifies that I am getting the response
        console.log("INSIDE IF" + response);

        ///I try to push that response in SOURCES
        SOURCES.push(response);


      }



      ///The bottom code shows conversion of my response data type to string
      this.dataSource = new MatTableDataSource(response);
      var sourceList = JSON.stringify(response);
  });

      ////HOWEVER, this log shows that SOURCES is 'undefined'
      console.log("LETS see the sources here ???? " + SOURCES)

似乎console.log()语句(显示数据)在将数据保存到局部变量之前已执行。

是否有一种方法可以将数据(“响应”中的值)保存到要在其后使用的局部变量?

0 个答案:

没有答案