55'use strict' ;
66
77var defs = require ( './defs' ) ;
8- var Promise = require ( 'bluebird' ) ;
8+ var Bluebird = require ( 'bluebird' ) ;
99var inherits = require ( 'util' ) . inherits ;
1010var EventEmitter = require ( 'events' ) . EventEmitter ;
1111var BaseChannel = require ( './channel' ) . BaseChannel ;
@@ -29,7 +29,17 @@ module.exports.ChannelModel = ChannelModel;
2929var CM = ChannelModel . prototype ;
3030
3131CM . close = function ( ) {
32- return Promise . fromCallback ( this . connection . close . bind ( this . connection ) ) ;
32+ var close = this . connection . close . bind ( this . connection ) ;
33+
34+ return new Promise ( function ( resolve , reject ) {
35+ close ( function ( err , result ) {
36+ if ( err ) {
37+ reject ( err ) ;
38+ } else {
39+ resolve ( result ) ;
40+ }
41+ } ) ;
42+ } ) ;
3343} ;
3444
3545// Channels
@@ -55,17 +65,31 @@ var C = Channel.prototype;
5565// API procedures.
5666C . rpc = function ( method , fields , expect ) {
5767 var self = this ;
58- return Promise . fromCallback ( function ( cb ) {
59- return self . _rpc ( method , fields , expect , cb ) ;
60- } )
61- . then ( function ( f ) {
68+
69+ return new Promise ( function ( resolve , reject ) {
70+ self . _rpc ( method , fields , expect , function ( err , result ) {
71+ if ( err ) {
72+ reject ( err ) ;
73+ } else {
74+ resolve ( result ) ;
75+ }
76+ } ) ;
77+ } ) . then ( function ( f ) {
6278 return f . fields ;
6379 } ) ;
6480} ;
6581
6682// Do the remarkably simple channel open handshake
6783C . open = function ( ) {
68- return Promise . try ( this . allocate . bind ( this ) ) . then (
84+ var allocate = this . allocate . bind ( this ) ;
85+
86+ return new Promise ( function ( resolve , reject ) {
87+ try {
88+ resolve ( allocate ( ) ) ;
89+ } catch ( e ) {
90+ reject ( e ) ;
91+ }
92+ } ) . then (
6993 function ( ch ) {
7094 return ch . rpc ( defs . ChannelOpen , { outOfBand : "" } ,
7195 defs . ChannelOpenOk ) ;
@@ -74,10 +98,16 @@ C.open = function() {
7498
7599C . close = function ( ) {
76100 var self = this ;
77- return Promise . fromCallback ( function ( cb ) {
101+
102+ return Bluebird . fromCallback ( function ( cb ) {
78103 return self . closeBecause ( "Goodbye" , defs . constants . REPLY_SUCCESS ,
79104 cb ) ;
80105 } ) ;
106+ // return new Promise(function(resolve, reject) {
107+ // return self.closeBecause("Goodbye", defs.constants.REPLY_SUCCESS,
108+ // (err, result) => err ? reject(err) : resolve(result)
109+ // );
110+ // });
81111} ;
82112
83113// === Public API, declaring queues and stuff ===
@@ -167,9 +197,18 @@ C.consume = function(queue, callback, options) {
167197 // NB we want the callback to be run synchronously, so that we've
168198 // registered the consumerTag before any messages can arrive.
169199 var fields = Args . consume ( queue , options ) ;
170- return Promise . fromCallback ( function ( cb ) {
200+ return Bluebird . fromCallback ( function ( cb ) {
171201 self . _rpc ( defs . BasicConsume , fields , defs . BasicConsumeOk , cb ) ;
172202 } )
203+ // return new Promise(function(resolve, reject) {
204+ // self._rpc(defs.BasicConsume, fields, defs.BasicConsumeOk, function (err, result) {
205+ // if (err) {
206+ // reject(err);
207+ // } else {
208+ // resolve(result);
209+ // }
210+ // });
211+ // })
173212 . then ( function ( ok ) {
174213 self . registerConsumer ( ok . fields . consumerTag , callback ) ;
175214 return ok . fields ;
@@ -178,10 +217,16 @@ C.consume = function(queue, callback, options) {
178217
179218C . cancel = function ( consumerTag ) {
180219 var self = this ;
181- return Promise . fromCallback ( function ( cb ) {
220+ return new Promise ( function ( resolve , reject ) {
182221 self . _rpc ( defs . BasicCancel , Args . cancel ( consumerTag ) ,
183222 defs . BasicCancelOk ,
184- cb ) ;
223+ function ( err , result ) {
224+ if ( err ) {
225+ reject ( err ) ;
226+ } else {
227+ resolve ( result ) ;
228+ }
229+ } ) ;
185230 } )
186231 . then ( function ( ok ) {
187232 self . unregisterConsumer ( consumerTag ) ;
@@ -192,9 +237,18 @@ C.cancel = function(consumerTag) {
192237C . get = function ( queue , options ) {
193238 var self = this ;
194239 var fields = Args . get ( queue , options ) ;
195- return Promise . fromCallback ( function ( cb ) {
240+ return Bluebird . fromCallback ( function ( cb ) {
196241 return self . sendOrEnqueue ( defs . BasicGet , fields , cb ) ;
197242 } )
243+ // return new Promise(function(resolve, reject) {
244+ // return self.sendOrEnqueue(defs.BasicGet, fields, function (err, result) {
245+ // if (err) {
246+ // reject(err);
247+ // } else {
248+ // resolve(result);
249+ // }
250+ // });
251+ // })
198252 . then ( function ( f ) {
199253 if ( f . id === defs . BasicGetEmpty ) {
200254 return false ;
0 commit comments