带有数据库的Javascript回调
Javascript callback with database
我是Javascript和回调函数的新手。这是回电话的正确方式吗?当我测试时,我得到一个无限循环。我想从数据库中检索并存储在对象的变量中,以便在getSport()中使用。
constructor(matchid) {
this.hasLoaded = false;
this.matchid = mid;
this.Match = {
"sport": "baskt",
"winner": -1,
};
}
rload(callback) {
this.hasLoaded = true;
matchDataBaseRef.child(this.mid)
.on("value", function (snapshot) {
this.Match = snapshot.val();
callback();
});
}
get getSport() {
if (!this.hasLoaded) {
this.rload(this.getSport);
}
return this.Match['sport'];
}
这不是正确的方法。您正在尝试在this.getSport
中进行同步。相反,你应该在回调中进行初始化,不要无限调用它
function myTask(params) {
//do something
params.callback();
//do something
}
那么你不应该这样工作,除非你有一个很好的理由:
var foo = function() {
myTask({callback: foo});
};
相反,在大多数情况下,你需要这样的东西:
var foo = function(cb) {
myTask({callback: cb});
};
CCD_ 2需要单独定义。因此,如果这不是您想要做的,请不要将包装器函数作为回调传递
相关文章:
- JavaScript回调函数
- 如何在javascript回调函数中返回多个变量
- Google Data API上的OOP Javascript回调方法
- JavaScript回调函数和Google Feed API
- 行上的Primefaces数据表选择javascript回调
- 使用jasmine测试JavaScript回调函数
- 当页面中的某些脚本已经执行时,javascript回调
- 性能惩罚JavaScript回调函数
- JavaScript回调问题
- 需要Javascript回调ajax解释
- 未通过单击按钮调用JavaScript回调
- Google+登录JavaScript回调问题
- 在对象内完成ajax调用后触发Javascript回调
- 独立线程上的Javascript回调函数
- 循环函数(Javascript回调帮助)
- 使用JavaScript回调函数了解变量作用域和闭包
- 带有参数的Javascript回调函数
- 带有数据库的Javascript回调
- Node.js/express,javascript回调函数未执行
- javascript回调如何知道它们的参数