Синтаксическая проблема CoffeeScript to Node.js в ")" - PullRequest
1 голос
/ 29 августа 2011

У меня проблема "слишком много) в строке 21". Я не могу скомпилировать этот код сценария кофе в Node.js Любая помощь об этих ")"? Спасибо

amqp = require('amqp')

class Queue
    constructor: (ip = 'localhost') ->
            @ip = ip
            @receivedObject
            @connection = amqp.createConnection({ host: @ip })

    subscribeTaskQueue: (queueToSubscribe) ->
            self = @
            self.connection.on('ready', ->
                    q = self.connection.queue(queueToSubscribe)
                    q.bind('#')

                    q.subscribe({ ack: true }, (message) ->
                            self.receivedObject = message
                            console.log(self.receivedObject)
                    )
            )

    addTaskToQueue: (queue, objectToSend) ->
            @connection.publish(queue, objectToSend)

module.exports = Queue

1 Ответ

6 голосов
/ 30 августа 2011

Это одна из областей, в которой CoffeeScript раскачивается: вы можете опускать паренсы при вызове функций с аргументами!Это особенно хорошо в Node, где обратный вызов обычно является последним аргументом.

Вот так:

amqp = require 'amqp'

class Queue

   constructor: (ip = 'localhost') ->
        @ip = ip
        @receivedObject
        @connection = amqp.createConnection { host: @ip } 

   subscribeTaskQueue: (queueToSubscribe) ->
        self = @
        self.connection.on 'ready', ->
                q = self.connection.queue queueToSubscribe
                q.bind '#'

                q.subscribe { ack: true }, (message) ->
                        self.receivedObject = message
                        console.log(self.receivedObject)

   addTaskToQueue: (queue, objectToSend) ->
        @connection.publish queue, objectToSend

module.exports = Queue 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...