node.js - 从函数获取返回值后的Node.JS回调
问题描述
在我的 main.js 文件中,我有这个对象:
var options = {
foo: 'bar',
foofoo: 'barbar',
accountBalance: getBalance()
};
函数getBalance()
在获取用户帐户资金余额的服务器上发出 POST 请求。返回余额后,我需要调用另一个函数myFunc()
,如下所示:
var options = {
foo: 'bar',
foofoo: 'barbar',
accountBalance: getBalance() //when accountBalance is returned, call myFunc() from here
};
function muFunc(){
//do something
}
获取平衡功能:
var request = require('request');
function getBalance(){
request(POSToptions, function (error, response, body) {
if (!error && response.statusCode == 200) {
return body.balance;
} else {
console.log("ERR" + body);
}
});
}
我知道我需要使用回调函数,但我仍然无法理解这个概念。有人可以帮助我并最好提供有关如何创建回调函数的解释吗?谢谢!
解决方案
你的 getBalance() 在执行 getBalance() 之前返回
您可以使用异步/等待
// npm install--save request
// npm install--save request-promise
var request = require('request-promise');
var getBalance = async () {
return await request(POSToptions);
}
const muFunc = async () => {
//do something
var options = {
foo: 'bar',
foofoo: 'barbar',
accountBalance: await getBalance()
};
}
推荐阅读
- c++ - libpng 中的调色板索引是什么?
- javascript - 返回“FromJS”状态 VS 在 React-Redux 中返回普通 JS 对象状态
- c++ - 为什么 &vector_char[0] 打印所有字符?
- python - 使用 for 循环遍历元组列表和内部元组
- python - 在 Python 3 中使用带有单个参数的 super()
- python - 在对象方法中更改后无法更改对象属性
- ios - Swift 从代码中设置约束 - 查看下视图
- angular - 检查已使用用户名的验证器无法正常工作
- python - 从 excel 表中获取员工详细信息
- angular - Angular:在类中使用服务