如何从内部以角度订阅返回值?

时间:2021-02-02 07:28:23

标签: angular return subscribe

我有从 api 获取数据的函数。我需要将数据返回到 in 类中声明的变量。下面是函数

getColumns(){

      let auth_token='xkjhkdfdfdf';
      let url=this.api.apiList.contact_list;
      var columns={};
      this.common.getRequestTable(url,auth_token).subscribe(
        res => {
          console.log(res);
          columns=res.column_heading;
          return columns;
        })
  }

我必须将值传递给类中声明的变量

columnList = {} 

但是什么时候试试

columnList=this.getColumns();

columnList 未定义

1 个答案:

答案 0 :(得分:1)

在类级别定义列变量:

let auth_token='xkjhkdfdfdf';
let url=this.api.apiList.contact_list;
var columns={};

// 如果您的常用服务是访问后端 URL 的服务,请尝试

getColumns() : Subscription {  
   return this.common.getRequestTable(url,auth_token).subscribe(
        res => {
          console.log(res);
          columns=res.column_heading;
          return columns;
        })
  }

虽然这不是像您提供的那样传递身份验证令牌的正确方法,但也是一个建议,请保持变量名称正确,以便它们自己传达其用途。如果“common”是服务,请使用“commonService”。