我应该如何重构此代码以正确等待_getWorkerId函数及其结果?
var EventsPersistancyService = {
accept: function acceptService(msg) {
function _getAppCategory() {
}
function _getWorkerId(user_sid, login) {
Worker.findByLogin(login, function(res){
});
}
var content = msg.content.toString();
content = JSON.parse(content);
content["app_category"] = _getAppCategory();
content["worker_id"] = _getWorkerId();
Event.create(content).then(function (x) {});
}
}
答案 0 :(得分:0)
添加回调函数作为第三个参数:
function _getWorkerId(user_sid, login, cb) {
Worker.findByLogin(login, function(res){
// here process data from res and create `response` variable
// ...
cb(response);
});
}
然后你这样打电话给_getWorkerId
:
_getWorkerId(1, "login", function (response){
content["worker_id"] = response;
});
就是这样。这是异步方法。