我正在开发一个应用程序,该应用程序需要从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()语句(显示数据)在将数据保存到局部变量之前已执行。
是否有一种方法可以将数据(“响应”中的值)保存到要在其后使用的局部变量?