无法从事件侦听器调用console.log()

时间:2013-12-01 10:43:24

标签: javascript tizen tizen-emulator

我正在为tizen执行一个应用程序,但它有很多纯JS代码,我遇到了奇怪的问题。我有这样的事件倾听者:

messagesChangeListener: function () {
    var self = this, config,
messageChangeCallback = {
    messagesupdated: function (updateMessages) {
        //console.log('Message updated');
    },
    messagesadded: function (addedMessage) {
        //console.log('Message added: ');
        self.outputlog(addedMessage);
    },
    messagesremoved: function (removedMessages) {
        //console.log('Message removed');
    }
};  this.smsService.messageStorage.addMessagesChangeListener(messageChangeCallback);
    },

outputlog: function(messages) {
    console.log("Messages changed");
},

如你所见,我有事件处理程序,其中注释调用控制台日志,但我遇到这种情况错误'无法调用方法'未定义'的日志',我必须添加新方法outputlog用于测试目的。它可以工作,但一旦Tizen仿真器重新加载 - 它也会停止工作。

所以:

  1. 为什么我不能直接从事件处理程序调用console.log?我认为这是一个可见性问题和纯JS的问题。我是对的吗?

  2. 可能有人知道为什么方法outputlog在重新加载模拟器后停止工作?在这里,我想一些Tizen应用程序和模拟器的具体问题。

2 个答案:

答案 0 :(得分:0)

看起来你在这里放了一个分号和额外的卷曲:

    messagesremoved: function (removedMessages) {
        //console.log('Message removed');
    }
};  this.smsService.messageStorage.addMessagesChangeListener(messageChangeCallback);
    },

答案 1 :(得分:0)

您是在Chrome控制台中查看“控制台”标签,还是仅查看SDK中的日志? 检查两者是否表现出相同的行为,可能是SDK中的通信问题。