Javascript属性函数执行

时间:2017-07-24 14:06:52

标签: javascript properties

我有一个模型对象。其中一个属性是连接到api并检索某些值的函数。我可能有这个故障或需要创建某种" Helper"功能正确,但我想先问这个问题。

var BuildInfo = {
    arch: function getArch(){
       // connect to api and return values
    }
}
module.exports = BuildInfo;

如何填充arch属性或者是否需要在其他地方使用getArch函数并将结果作为数组返回到arch属性?

1 个答案:

答案 0 :(得分:0)

一个奇怪的想法浮现在脑海中,如果你真的想要一些看起来的东西,就像一个属性,但实际上是一个异步函数调用。在async函数中,您可以var array = await BuildInfo.arch,假设它看起来像这样:

var BuildInfo = {
  get arch() {
    // connect to api and return values
    return someAsynchronousAPIThatReturnsAPromise()
  }
}
module.exports = BuildInfo;

演示

var BuildInfo = {
  get arch() {
    return Promise.resolve(['arch', 'info', 'array'])
  }
}

async function getMyArchInfo() {
  var array = await BuildInfo.arch
  
  console.log(array)
}

getMyArchInfo()