How to use the rx-queue.DebounceQueue function in rx-queue

To help you get started, we’ve selected a few rx-queue examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github wechaty / wechaty / src / puppet-padchat / padchat-rpc.ts View on Github external
private startQueues() {
    log.verbose('PadchatRpc', 'startQueues()')

    /**
     * Throttle for 10 seconds
     */
    this.throttleQueue = new ThrottleQueue(1000 * 10)
    /**
     * Debounce for 20 seconds
     */
    this.debounceQueue = new DebounceQueue(1000 * 10 * 2)

    /**
     * Throttle for 5 seconds for the `logout` event:
     *  we should only fire once for logout,
     *  but the server will send many events of 'logout'
     */
    this.logoutThrottleQueue = new ThrottleQueue(1000 * 5)

    this.initHeartbeat()

    if (this.logoutThrottleSubscription) {
      throw new Error('this.logoutThrottleSubscription exist')
    } else {
      this.logoutThrottleSubscription = this.logoutThrottleQueue.subscribe(async msg => {
        await this.reset(msg)
      })

rx-queue

Easy to Use ReactiveX Queue that Supports Delay/DelayExecutor/Throttle/Debounce/Concurrency Features Powered by RxJS/IxJS

Apache-2.0
Latest version published 2 years ago

Package Health Score

48 / 100
Full package analysis