假设我有以下工作代码:

const myPackage = require('myPackage');
myPackage.internal_func(parameter).then(console.log);


这将返回一个JSON,例如:

{
    a: 'valA',
    b: 'valB'
}


如果我只想将a的值分配给变量怎么办?

我尝试了这个:

const myPackage = require('myPackage');
var data = myPackage.internal_func(parameter).a;
console.log(data);


不幸的是,这返回:

undefined

最佳答案

在您的示例中,internal_func看起来返回了Promise,这就是为什么它没有a属性的原因。

这里有一些选择:



// Async/await
(async function(){
  const parameter = {}; //some param
  const myPackage = require('myPackage');
  const { a } = await myPackage.internal_func(parameter);
  console.log(a);
})();







// Thenable
const parameter = {}; //some param
const myPackage = require('myPackage');
myPackage.internal_func(parameter).then(({a})=>{
  // you can use variable a in the code below
  console.log(a);

  // some code...
});

10-06 04:46