带数据库的Javascript回调

凯南农夫

我是Java语言和回调函数的新手。这是回电的正确方法吗?当我测试时,我得到一个无限循环。我想从数据库中检索并存储在要在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'];
}
拉霍斯·阿帕德(Lajos Arpad)

那不是正确的方法。您正在尝试同步this.getSport相反,您应该将初始化包含在回调中,并且不要无限调用它。假设您有这样的事情:

function myTask(params) {
    //do something
    params.callback();
    //do something
}

那么除非您有充分的理由,否则您不应该这样处理:

var foo = function() {
    myTask({callback: foo});
};

取而代之的是,在大多数情况下,您需要这样的东西:

var foo = function(cb) {
    myTask({callback: cb});
};

cb需要单独定义。因此,如果这不完全是您想要执行的操作,请不要将包装器函数作为回调传递。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带数据库的Javascript回调

来自分类Dev

ActiveRecord数据库连接的回调?

来自分类Dev

领域数据库回调

来自分类Dev

节点 - 数据库查询回调未触发

来自分类Dev

Android Room 数据库创建 - 回调

来自分类Dev

JavaScript 饼图函数和回调仅显示数据库中的最后一个元素

来自分类Dev

Javascript-带对象的回调

来自分类Dev

javascript中带箭头函数的回调

来自分类Dev

Rails before_destroy回调数据库更改总是回滚

来自分类Dev

使用操作回调从实时数据库中检索数据

来自分类Dev

从数据库中回调jQuery小部件信息并在适当位置显示小部件

来自分类Dev

如何从我的数据库断开连接,在正常的回调/承诺 - 基于环境?

来自分类Dev

从流导入到数据库后,node.js如何同步最终回调

来自分类Dev

流星:成功从服务器方法回调时写入数据库

来自分类Dev

nodejs同步调用:获取数据库回调并将其解析到前端

来自分类Dev

Mongo shell .save() 触发成功回调但文档不在数据库中

来自分类Dev

从数据库选择带日期时间

来自分类Dev

带空间获取数据库名称

来自分类Dev

带 Room 数据库的 Android ExpandableListview

来自分类Dev

带参数和返回值的JavaScript回调

来自分类Dev

Rails:控制器中的回调将数据库中的属性从true更改为false

来自分类Dev

异步 clojure http-kit 客户端,回调写入数据库 sqlite3

来自分类Dev

通过javascript从AJAX回调返回数据

来自分类Dev

了解带参数的回调

来自分类Dev

带参数的Nodejs回调

来自分类Dev

如何从数据库回显If语句

来自分类Dev

回显最近的数据库记录?

来自分类Dev

如何从数据库回显If语句

来自分类Dev

静态库回调

Related 相关文章

热门标签

归档