为什么此变量总是返回null?角服务

问题描述 投票:-1回答:1

现在要解决一个琐碎的问题需要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文件中使用它。

javascript angular httpclient angular-services
1个回答
0
投票

由于异步调用,console.log(this.res)在处理服务器调用之前执行。

© www.soinside.com 2019 - 2024. All rights reserved.