首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个变量总是返回null?角服务

为什么这个变量总是返回null?角服务
EN

Stack Overflow用户
提问于 2020-01-20 01:15:40
回答 1查看 1.1K关注 0票数 0

现在花了8个小时来解决一个琐碎的问题&我真不敢相信!

下面是一个角服务脚本

代码语言:javascript
复制
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)
}

}

下面是一个组件脚本,它调用该服务

代码语言:javascript
复制
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文件。

EN

Stack Overflow用户

发布于 2020-01-20 01:25:56

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

Change

代码语言:javascript
复制
this.getdata().subscribe(data=>
{
  this.res=data
});
console.log(this.res)

代码语言:javascript
复制
this.getdata().subscribe(data=>
  {
   this.res=data; 
   console.log(this.res)
  });
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59815902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档