返回回调值给main函数
return callback value to main function
这是我的代码。请帮帮我。从回调函数返回预算值。
如何返回值main函数
//Метод возвращает текущий бюджет пользователя
getCurrentBudget: function (req) {
var reqToken = req.headers["authorization"].substr(7);
var is = true;
jwt.verify(reqToken, config['jwt'], function (error, user) {
// Если бюджет текущего пользователя
if (user.currentBudget) {
db.budget.findOne({ownerId: objectId(user._id)}, function(error, budget) {
if (!error && budget) {
//Бюджет найден
logger.debug('Бюджет найден: %j', budget, {});
return budget;
}
})
} else {
// Ищем бюджет в который пригласили этого пользователя
db.budget.findOne({membersEmail: user.email}, function(error, budget) {
if (!error && budget) {
//Бюджет найден
logger.debug('Бюджет найден: %j', budget, {});
return budget;
}
})
}
});
},
因为从函数调用异步代码,所以需要提供回调以"返回"结果。例如:
getCurrentBudget: function (req, callback) {
var reqToken = req.headers["authorization"].substr(7);
var is = true;
jwt.verify(reqToken, config['jwt'], function (error, user) {
// Если бюджет текущего пользователя
if (user.currentBudget) {
db.budget.findOne({ownerId: objectId(user._id)}, function(error, budget) {
if (!error && budget) {
//Бюджет найден
logger.debug('Бюджет найден: %j', budget, {});
callback(budget);
}
})
} else {
// Ищем бюджет в который пригласили этого пользователя
db.budget.findOne({membersEmail: user.email}, function(error, budget) {
if (!error && budget) {
//Бюджет найден
logger.debug('Бюджет найден: %j', budget, {});
callback(budget);
}
})
}
});
},
试试这个:
getCurrentBudget: function (req, callback) { // callback is a function to get budget
var reqToken = req.headers["authorization"].substr(7);
var is = true;
jwt.verify(reqToken, config['jwt'], function (error, user) {
// Если бюджет текущего пользователя
if (user.currentBudget) {
db.budget.findOne({ownerId: objectId(user._id)}, function(error, budget) {
if (!error && budget) {
//Бюджет найден
logger.debug('Бюджет найден: %j', budget, {});
callback(budget);
}
})
} else {
// Ищем бюджет в который пригласили этого пользователя
db.budget.findOne({membersEmail: user.email}, function(error, budget) {
if (!error && budget) {
//Бюджет найден
logger.debug('Бюджет найден: %j', budget, {});
callback(budget);
}
})
}
});
}
在main中,你这样调用这个方法:
main函数(){
getCurrentBudget(req, function(budget) { // this function is your callback actually
console.log(budget);
});
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- JS不工作:Sublime 3编辑器-Var main=函数()-=不是“”;激活“;(功能新手)
- 从另一个 javascript 文件访问 main() 函数
- 电子:从main调用渲染器函数
- Javascript 函数不将值返回回 main()
- JavaScript 中的 main() 函数
- TypeScript中是否有一个类似Main()的函数?
- 从网页调用firefox扩展main.js中的函数
- 是否有可能调用main.js文件中的函数从web到电子
- 在main函数的回调中获取返回值
- 访问Firefox插件SDK main.js文件中的自定义函数
- 错误:“这个.Jc不是一个函数;(main.js第853行)
- 返回回调值给main函数
- 对于chrome扩展,main.js如何从popup.js调用函数
- Firefox扩展,如何从main.js调用侧边栏中的函数