Added result storing in promise - useful for queue code

This commit is contained in:
hydrabolt
2015-08-30 16:25:42 +01:00
parent bb53b65cf5
commit c2e282c813
3 changed files with 23 additions and 14 deletions

View File

@@ -593,7 +593,7 @@ var Client = (function () {
var self = this;
return new Promise(function (resolve, reject) {
var prom = new Promise(function (resolve, reject) {
message = premessage + resolveMessage(message);
var mentions = resolveMentions();
@@ -615,8 +615,8 @@ var Client = (function () {
action: "sendMessage",
content: message,
mentions: mentions,
then: [resolve, callback],
error: [reject, callback]
then: [mgood],
error: [mbad]
});
self.checkQueue(destination);
@@ -626,11 +626,13 @@ var Client = (function () {
}
function mgood(msg) {
prom.message = msg;
callback(null, msg);
resolve(msg);
}
function mbad(error) {
prom.error = error;
callback(error);
reject(error);
}
@@ -673,6 +675,8 @@ var Client = (function () {
return _mentions;
}
});
return prom;
}
//def createws
@@ -1411,12 +1415,10 @@ var Client = (function () {
var msgToSend = queuedEvent;
self._sendMessage(channelID, msgToSend.content, msgToSend.mentions).then(function (msg) {
msgToSend.then[0](msg);
msgToSend.then[1](null, msg);
self.messageQueue[channelID].shift();
doNext();
})["catch"](function (err) {
msgToSend["catch"][0](err);
msgToSend["catch"][1](err);
self.messageQueue[channelID].shift();
doNext();
});