无法访问用户呼叫中的本地变量

时间:2017-05-15 03:10:33

标签: typescript

有人可以向我解释为什么我无法在用户呼叫中访问zvol_name。

this.rest.get(this.volume_resource_name , {}).subscribe((res) => {
  let zvol_name: Array<String>;
  let zvol_object: Array<object>;
  for(let zvol_list of res.data) {
    zvol_name.push(zvol_list['vol_name']);
  }
  for(let j in zvol_name){
    var result = this.rest.get(this.volume_resource_name+ '/' + zvol_name['vol_name'], {})
    }
});

1 个答案:

答案 0 :(得分:2)

这是因为行let zvol_name: Array<String>;实际上并没有初始化数组。您的zvol_name变量仍为undefined

在使用之前用空数组初始化它:

let zvol_name: Array<String> = [];

您可以在"strictNullChecks": true文件中设置tsconfig.json,以确保在编译期间捕获这些错误。