當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript Rx.Subscription類代碼示例

本文整理匯總了TypeScript中rxjs/Rx.Subscription的典型用法代碼示例。如果您正苦於以下問題:TypeScript Subscription類的具體用法?TypeScript Subscription怎麽用?TypeScript Subscription使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Subscription類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: Subscription

    return Observable.create(o => {
      const disposables = new Subscription()
      log.debug(
        `Subscribing to topic [${topic}]. Is connected [${this.isConnected}]`
      )

      if (!this.isConnected) {
        o.error(
          new Error(
            `Session not connected, can\'t subscribe to topic [${topic}]`
          )
        )
        return disposables
      }

      let subscription
      this.autobahn.session
        .subscribe(topic, (response: Array<any>) => {
          this.logResponse(topic, response)
          o.next(response[0])
        })
        .then(
          sub => {
            // subscription succeeded, subscription is an instance of autobahn.Subscription
            log.verbose(`subscription acked on topic [${topic}]`)
            subscription = sub
          },
          (error: Error) => {
            // subscription failed, error is an instance of autobahn.Error
            log.error(`Error on topic ${topic}`, error)
            o.error(error)
          }
        )

      disposables.add(
        new Subscription(() => {
          if (!subscription) {
            return
          }
          try {
            this.autobahn.session
              .unsubscribe(subscription)
              .then(
                gone =>
                  log.verbose(`Successfully unsubscribing from topic ${topic}`),
                err => log.error(`Error unsubscribing from topic ${topic}`, err)
              )
          } catch (err) {
            log.error(`Error thrown unsubscribing from topic ${topic}`, err)
          }
        })
      )
      return disposables
    })
開發者ID:carlosrfernandez,項目名稱:ReactiveTraderCloud,代碼行數:54,代碼來源:connection.ts

示例2: ngOnDestroy

 ngOnDestroy()
 {
    const me = this.constructor.name + '.ngOnDestroy(): ';
    console.log( me);
    if (this._currentClusterSubscription)
       this._currentClusterSubscription.unsubscribe();
 }
開發者ID:JohnL4,項目名稱:Diaspora,代碼行數:7,代碼來源:cluster-details.component.ts

示例3:

 this.taskListService.getUserLists().subscribe((taskListsObservable) => {
   if (this.taskListsSubscription != null) {
     this.taskListsSubscription.unsubscribe();
   }
   this.taskListsSubscription =
       taskListsObservable.subscribe((taskLists) => { this.taskLists = taskLists; });
 });
開發者ID:hanaum,項目名稱:choose_to_go,代碼行數:7,代碼來源:userListView.component.ts

示例4: removePreLoader

  private removePreLoader() {
    if(document) {
      let $body = document.body;
      let preloader = document.getElementById('preloader');
      if(preloader) {
        $body.removeChild(preloader);
        this.routeEventsSubscription.unsubscribe();
      }
      $body.classList.remove('loading');

    }
  }
開發者ID:HerringtonDarkholme,項目名稱:Deneb,代碼行數:12,代碼來源:app.component.ts

示例5: add

  add(teardownSrc: TeardownLogic): Subscription {
    let teardown: any = teardownSrc
    if (this.closed) return this
    if (typeof(teardownSrc) === 'function') teardown = new Subscription(teardown)

    if (this.currentSubscription) {
      this.remove(this.currentSubscription)
      this.currentSubscription.unsubscribe()
      this.currentSubscription = null
    }

    super.add(this.currentSubscription = teardown)
    return this
  }
開發者ID:carlosrfernandez,項目名稱:ReactiveTraderCloud,代碼行數:14,代碼來源:serialSubscription.ts

示例6: runPreIFrameTasks

 runPreIFrameTasks() {
     if (this._preIFrameTasks && this._preIFrameTasks.isUnsubscribed) {
         this._preIFrameTasks.unsubscribe();
     }
     this._preIFrameTasks = Observable.timer(0, 60000)
         .concatMap<string>(() => this._http.get('api/token?plaintext=true').retry(5).map<string>(r => r.text()))
         .subscribe(t => this._userService.setToken(t));
 }
開發者ID:rumnha,項目名稱:AzureFunctionsPortal,代碼行數:8,代碼來源:background-tasks.service.ts

示例7:

 (navTabName: string) => {
     if( navTabName !== name && !this.vhostTreeSubs.isUnsubscribed ) { // 플레이어 탭이 아닐 때
         this.vhostTreeSubs.unsubscribe();
         this.stopAllPlayers();
     }
     else {
         this.subscribeVhostTree();
         this.reloadAllPlayers();
     }
 }
開發者ID:BaeHongil,項目名稱:VMS,代碼行數:10,代碼來源:players.component.ts

示例8: setTimeout

                setTimeout(() => {
                    if (value.indexOf("/") !== -1) {
                        o.next({ noSlashAsync: true });
                    } else {
                        o.next(null);
                    }

                    // wait for bug update. maybe at final release.
                    console.log(v);

                    o.complete();
                    s.unsubscribe();
                }, 1000);
開發者ID:zhaowenjunzz,項目名稱:StudyAngular2,代碼行數:13,代碼來源:custom-validators.ts

示例9: createExecuteTradeResponse

 .subscribe(limitCheckResult => {
   if (limitCheckResult) {
     const request = serviceClient
       .createRequestResponseOperation(
         'executeTrade',
         executeTradeRequest
       )
       .publish()
       .refCount()
     disposables.add(
       Observable.merge(
         request
           .map(dto => {
             const trade = tradeMapper.mapFromTradeDto(dto.Trade)
             log.info(
               `execute response received for: ${executeTradeRequest}. Status: ${trade.status}`,
               dto
             )
             return createExecuteTradeResponse(trade)
           })
           // if we never receive a response, mark request as complete
           .timeout(
             EXECUTION_REQUEST_TIMEOUT_MS,
             Scheduler.asap.schedule(() =>
               createExecuteTradeResponseForError(
                 'Trade execution timeout exceeded',
                 executeTradeRequest
               )
             )
           ),
         // show timeout error if request is taking longer than expected
         Observable.timer(EXECUTION_CLIENT_TIMEOUT_MS)
           .map(() =>
             createExecuteTradeResponseForError(
               'Trade execution timeout exceeded',
               executeTradeRequest
             )
           )
           .takeUntil(request)
       ).subscribe(o)
     )
   } else {
     o.next(
       createExecuteTradeResponseForError(
         'Credit limit exceeded',
         executeTradeRequest
       )
     )
   }
 })
開發者ID:carlosrfernandez,項目名稱:ReactiveTraderCloud,代碼行數:50,代碼來源:executionService.ts


注:本文中的rxjs/Rx.Subscription類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。