javascript - NodeJs/Bluebird - keep getting Unhandled rejection Error -


am building daemon listen tcp connection > sends commands > listen events..

so decided use bluebird rid of callbacks.. having issue... cant seem catch rejected error.... have no idea whats wrong here code

the promise:

function exec(cmd, params, options) {     return new promise(function(resolve, reject) {         server.send(cmd, params || {}, options || [], function (err, res, rawres) {             if (err) reject(err.msg);             resolve(res);         });     }); } 

the execution:

exec("login", {     // login     client_login_name: conf.user,     client_login_password: conf.pass }).then(exec("use", {     // select server     sid: 4 })).then(exec("clientupdate", {     // change nickname     client_nickname: conf.nick })).catch(function (err) {     log.error(err); }); 

the error(server not running) error in reject(err.msg):

unhandled rejection error: server not running @ object.ensureerrorobject (d:\dev\node\a90s\node_modules\bluebird\js\main\util.js:261:20) @ promise._rejectcallback (d:\dev\node\a90s\node_modules\bluebird\js\main\promise.js:465:22) @ d:\dev\node\a90s\node_modules\bluebird\js\main\promise.js:482:17 @ object.cb (d:\dev\node\a90s\modules\ts3interface.js:20:26) @ lineinputstream.<anonymous> (d:\dev\node\a90s\node_modules\node-teamspeak\index.js:170:47) @ lineinputstream.emit (events.js:107:17) @ lineinputstream._events.line (d:\dev\node\a90s\node_modules\node-teamspeak\node_modules\line-input-stream\lib\line-input-stream.js:8:8) @ array.foreach (native) @ socket.<anonymous> (d:\dev\node\a90s\node_modules\node-teamspeak\node_modules\line-input-stream\lib\line-input-stream.js:36:9) @ socket.emit (events.js:107:17) @ readableaddchunk (_stream_readable.js:163:16) @ socket.readable.push (_stream_readable.js:126:10) @ tcp.onread (net.js:538:20) 

thanks in advance :)

you must pass callbacks .then, not promises (that exec invocations return).

exec("login", {     // login     client_login_name: conf.user,     client_login_password: conf.pass }).then(function(loginresult) {     // select server     return exec("use", {         sid: 4     }); }).then(function(selectresult) {     // change nickname     return exec("clientupdate", {         client_nickname: conf.nick     }); }).catch(function (err) {     log.error(err); }); 

Comments

Popular posts from this blog

yii2 - Yii 2 Running a Cron in the basic template -

asp.net - 'System.Web.HttpContext' does not contain a definition for 'GetOwinContext' Mystery -

javascript - Passport with Express 4 -