现在要解决一个琐碎的问题需要8个小时,我真不敢相信!
这里是角度服务脚本
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class GetStockDataService {
constructor(public http:HttpClient) { }
RequestData={"query":"{\n stock{\n history{\n \n low\n high\n demand\n }\n }\n}"}
getstockdata(){
return this.http.post('http://localhost:3000/',this.RequestData)
}
}
这是调用该服务的组件脚本
import { Component, OnInit } from '@angular/core';
import { GetStockDataService } from '../services/get-stock-data.service';
import { Platform } from '@ionic/angular';
@Component({
selector: 'app-Stocks',
templateUrl: 'Stocks.page.html',
styleUrls: ['Stocks.page.scss']
})
export class StocksPage implements OnInit {
constructor(private GetStockData:GetStockDataService , private platform : Platform) {}
res:any
ngOnInit(){
this.getdata().subscribe(data=>{this.res=data});
console.log(this.res)
}
getdata(){
return this.GetStockData.getstockdata() }}
为什么“ res”变量总是返回NULL ????知道当我将控制台日志放在订阅部分的函数中的变量里面时,它会返回数据但是我不能将此变量设置为全局变量...我该怎么做?我只想从订阅中获取“ res”变量的数据,以便稍后在HTML文件中使用它。
由于异步调用,console.log(this.res)
在处理服务器调用之前执行。