@@ -223,7 +223,7 @@ export default class RedisCommandsQueue {
223
223
listener : PubSubListener < T > ,
224
224
returnBuffers ?: T
225
225
) {
226
- return this . _pushPubSubCommand (
226
+ return this . _addPubSubCommand (
227
227
this . _pubSub . subscribe ( type , channels , listener , returnBuffers )
228
228
) ;
229
229
}
@@ -234,7 +234,7 @@ export default class RedisCommandsQueue {
234
234
listener ?: PubSubListener < T > ,
235
235
returnBuffers ?: T
236
236
) {
237
- return this . _pushPubSubCommand (
237
+ return this . _addPubSubCommand (
238
238
this . _pubSub . unsubscribe ( type , channels , listener , returnBuffers )
239
239
) ;
240
240
}
@@ -244,7 +244,7 @@ export default class RedisCommandsQueue {
244
244
if ( ! commands . length ) return ;
245
245
246
246
return Promise . all (
247
- commands . map ( command => this . _pushPubSubCommand ( command ) )
247
+ commands . map ( command => this . _addPubSubCommand ( command , true ) )
248
248
) ;
249
249
}
250
250
@@ -253,13 +253,13 @@ export default class RedisCommandsQueue {
253
253
channel : string ,
254
254
listeners : ChannelListeners
255
255
) {
256
- return this . _pushPubSubCommand (
256
+ return this . _addPubSubCommand (
257
257
this . _pubSub . extendChannelListeners ( type , channel , listeners )
258
258
) ;
259
259
}
260
260
261
261
extendPubSubListeners ( type : PubSubType , listeners : PubSubTypeListeners ) {
262
- return this . _pushPubSubCommand (
262
+ return this . _addPubSubCommand (
263
263
this . _pubSub . extendTypeListeners ( type , listeners )
264
264
) ;
265
265
}
@@ -268,11 +268,11 @@ export default class RedisCommandsQueue {
268
268
return this . _pubSub . getTypeListeners ( type ) ;
269
269
}
270
270
271
- private _pushPubSubCommand ( command : PubSubCommand ) {
271
+ private _addPubSubCommand ( command : PubSubCommand , asap = false ) {
272
272
if ( command === undefined ) return ;
273
273
274
274
return new Promise < void > ( ( resolve , reject ) => {
275
- this . _toWrite . push ( {
275
+ ( asap ? this . _toWrite . unshift : this . _toWrite . push ) ( {
276
276
args : command . args ,
277
277
chainId : undefined ,
278
278
abort : undefined ,
@@ -287,7 +287,7 @@ export default class RedisCommandsQueue {
287
287
} ,
288
288
channelsCounter : command . channelsCounter ,
289
289
typeMapping : PUSH_TYPE_MAPPING
290
- } ) ;
290
+ } ) ;
291
291
} ) ;
292
292
}
293
293
0 commit comments