【发布时间】:2020-01-20 01:15:40
【问题描述】:
现在 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 文件中使用它。
【问题讨论】:
-
你需要查看 Promise 和异步代码是如何工作的。
-
好的,我需要在这里添加什么?
标签: javascript angular httpclient angular-services