Node.js / 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 

这怎么可能?

我的错误! 我已经设置logging器级别在“信息”

现在日志是:

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

应该得到upvote O_o