Node.js / q为什么不调用这个函数?

时间:2013-08-13 20:49:34

标签: node.js socket.io deferred q

我有这段代码:

/**
 * On message received
 */
socket.on('message', function (message) {
    global.logger.info('%s : message : %s', address.address, message);
    execute(message, socket)
        .then(function (value) {
            global.logger.debug('%s : success : %s', address.address, value);
            socket.emit('message', message);
        }, function (error) {
            global.logger.debug('%s : fail : %s', address.address, error);
            socket.emit('error', error);
        });
});

function execute(message, socket) {
    global.logger.debug('Got here : %s', message);
    var deferred = Q.defer();
    deferred.reject(new Error('test'));
    return deferred.promise;
}

但是当我运行并向socket.io发送消息时,我在日志中可以看到的唯一一行就是这一行:

info: 93.xxx.xxx.xxx : message : lalalalala

这怎么可能?

1 个答案:

答案 0 :(得分:1)

我的错误! 我已将记录器级别设置为“info”

现在日志是:

info: 93.147.76.106 : message : stupid
info: Got here : stupid
info: 93.147.76.106 : fail : %s

应该支持upvote O_o