在另一堂课中承诺事件

  • 本文关键字:承诺 事件 javascript
  • 更新时间 :
  • 英文 :


我有两个文件。一个称为 logic.js 和另一个称为 common.js 。在我的 logic.js 中,我有一个带有方法 getTile((的类,其中包含event

return new Promise(function(resolve) {
        this.dbRef.limitToFirst(6).on('child_added', function(data) {
            console.log('child_added called in promise');
            resolve(data);
        });
        this.dbRef.limitToFirst(6).on('child_changed', function(data) {
            console.log('child_changed called in promise');
            resolve(data);
        });
    }.bind(this))

我想在我的 common.js 中称其为

database.getTile().then(setTile);

,但正如预期的那样,解决数据仅起作用一次,这意味着此代码不起作用。那么,如何触发我的 settile 每次触发 logic.js 的事件时>

为什么不使用类似的东西:

function setTitle(callback) {
    this.dbRef.limitToFirst(6).on('child_added', function(data, callback) {
        callback(data);
    });
    this.dbRef.limitToFirst(6).on('child_changed', function(data, callback) {
        callback(data);
    });
}
setTitle(function(data) {
    console.log("Data received", data);
});

让我知道这是否满足您的要求。

最新更新