diff options
Diffstat (limited to 'webapp/utils/async_client.jsx')
-rw-r--r-- | webapp/utils/async_client.jsx | 82 |
1 files changed, 46 insertions, 36 deletions
diff --git a/webapp/utils/async_client.jsx b/webapp/utils/async_client.jsx index 1149c565f..efa9eeb2b 100644 --- a/webapp/utils/async_client.jsx +++ b/webapp/utils/async_client.jsx @@ -111,26 +111,31 @@ export function getChannel(id) { } export function getMyChannelMembers() { - if (isCallInProgress('getMyChannelMembers')) { - return; - } + return new Promise((resolve, reject) => { + if (isCallInProgress('getMyChannelMembers')) { + resolve(); + return; + } - callTracker.getMyChannelMembers = utils.getTimestamp(); + callTracker.getMyChannelMembers = utils.getTimestamp(); - Client.getMyChannelMembers( - (data) => { - callTracker.getMyChannelMembers = 0; + Client.getMyChannelMembers( + (data) => { + callTracker.getMyChannelMembers = 0; - AppDispatcher.handleServerAction({ - type: ActionTypes.RECEIVED_MY_CHANNEL_MEMBERS, - members: data - }); - }, - (err) => { - callTracker.getChannelsUnread = 0; - dispatchError(err, 'getMyChannelMembers'); - } - ); + AppDispatcher.handleServerAction({ + type: ActionTypes.RECEIVED_MY_CHANNEL_MEMBERS, + members: data + }); + resolve(); + }, + (err) => { + callTracker.getChannelsUnread = 0; + dispatchError(err, 'getMyChannelMembers'); + reject(); + } + ); + }); } export function updateLastViewedAt(id, active) { @@ -263,28 +268,33 @@ export function getChannelStats(channelId = ChannelStore.getCurrentId(), doVersi } export function getChannelMember(channelId, userId) { - if (isCallInProgress(`getChannelMember${channelId}${userId}`)) { - return; - } + return new Promise((resolve, reject) => { + if (isCallInProgress(`getChannelMember${channelId}${userId}`)) { + resolve(); + return; + } - callTracker[`getChannelMember${channelId}${userId}`] = utils.getTimestamp(); + callTracker[`getChannelMember${channelId}${userId}`] = utils.getTimestamp(); - Client.getChannelMember( - channelId, - userId, - (data) => { - callTracker[`getChannelMember${channelId}${userId}`] = 0; + Client.getChannelMember( + channelId, + userId, + (data) => { + callTracker[`getChannelMember${channelId}${userId}`] = 0; - AppDispatcher.handleServerAction({ - type: ActionTypes.RECEIVED_CHANNEL_MEMBER, - member: data - }); - }, - (err) => { - callTracker[`getChannelMember${channelId}${userId}`] = 0; - dispatchError(err, 'getChannelMember'); - } - ); + AppDispatcher.handleServerAction({ + type: ActionTypes.RECEIVED_CHANNEL_MEMBER, + member: data + }); + resolve(); + }, + (err) => { + callTracker[`getChannelMember${channelId}${userId}`] = 0; + dispatchError(err, 'getChannelMember'); + reject(); + } + ); + }); } export function getUser(userId) { |