javascript - 将从包返回的数据分配给变量
问题描述
假设我有这个工作代码:
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
解决方案
如果myPackage.internal_func(parameter)
返回一个 Promise,那么您需要使用async/await或将函数与 then() 链接起来。
使用 Then()
const myPackage = require('myPackage');
myPackage.internal_func(parameter).then(data => {
console.log(data.a);
});
使用异步/等待
const async = require('async');
const myPackage = require('myPackage');
const testFunction = async function(){
var data = await myPackage.internal_func(parameter);
console.log(data.a);
}
如果您在函数中使用此代码,请不要忘记在函数声明中包含异步。
推荐阅读
- selenium - 如何在附件中找到“Pace”一词的动态 xpath?
- python-3.x - Python 3.7 附加函数问题
- microsoft-graph-api - 如何使用 Microsoft Graph 获取分配给我的应用程序列表?
- botframework - 将呼叫转接到另一个 MS 机器人
- rest - 使用 docker rest api 的好例子
- excel - 比较不同工作表中的用户,如果 A 中不存在但 B 中存在,则将用户添加到工作表 A
- java - 如何查找 w 字符串中的字符总数?
- java - 如何在最好成绩历史活动中添加成绩最好的球员的名字?
- r - 如何将两个数据框水平添加到R中的一张Excel工作表中
- python-3.5 - 我没有得到预期的结果,我想知道代码有什么问题