q: TypeError: Q.nextTick.runAfter is not a function

var answer = q.defer();
var replyQueue;
function MaybeAnswer(msg) {
       answer.reject(new Error(msg.content.toString()));
 }

return ch.assertQueue(toQueue, queueOptions || this.queueOptions)
                            .then(function () {
                                return ch.assertQueue('', this.replyQueueOptions);
                            }.bind(this))
                            .then(function assertQueueSuccess(qok) {
                                replyQueue = qok.queue;
                                return ch.consume(replyQueue, MaybeAnswer.bind(this), {noAck: true});
                            }.bind(this))
                            .then(function consumeSuccess() {
                                ch.sendToQueue(toQueue || this.queue, new Buffer(msg), props);
                                return answer.promise;
                            }.bind(this))
                            .catch(function (error) {
                                // Return Error to the outer .catch()
                                this.logger.error(error);
                                return q.reject(error);
                            }.bind(this))
                            .finally(function () {
                                if (this.standalone) {
                                    conn.close();
                                }
                                else {
                                    ch.close();
                                }
                            }.bind(this));

While running above code I’m getting an error

TypeError: Q.nextTick.runAfter is not a function

stack trace: at trackRejection (/Volumes/DATA/projects/cirrent/api-dev/node_modules/q/q.js:1059:20) at reject (/Volumes/DATA/projects/cirrent/api-dev/node_modules/q/q.js:1133:5) at deferred.reject (/Volumes/DATA/projects/cirrent/api-dev/node_modules/q/q.js:634:16) at Object.MaybeAnswer (/Volumes/DATA/projects/cirrent/api-dev/node_modules/API-Common/helpers/rpc.js:98:44) at Channel.BaseChannel.dispatchMessage (/Volumes/DATA/projects/cirrent/api-dev/node_modules/amqplib/lib/channel.js:466:12) at Channel.BaseChannel.handleDelivery (/Volumes/DATA/projects/cirrent/api-dev/node_modules/amqplib/lib/channel.js:475:15) at emitOne (events.js:77:13) at Channel.emit (events.js:169:7) at /Volumes/DATA/projects/cirrent/api-dev/node_modules/amqplib/lib/channel.js:263:10 at Channel.content as handleMessage

I really couldn’t find out what’s gone wrong with my code. I’d appreciate if anyone can help with this.

About this issue

  • Original URL
  • State: open
  • Created 8 years ago
  • Comments: 17 (5 by maintainers)

Most upvoted comments

As the person who suggested the scheduler APi for bluebird I’ll gladly implement an API for Q for the same thing if Kris asks.