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


TypeScript pro.Pro類代碼示例

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


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

示例1: checkForUpdates

  async checkForUpdates() {
    if (this.checking) {
      return;
    } else {
      this.checking = true;
    }

    try {
      await this.platform.ready();
      await this.hasDeploy();

      const hasUpdate = await Promise.race([
        this.pro.deploy().check(),
        new Promise((_, reject) => setTimeout(reject, 8000)),
      ]);

      console.log(hasUpdate);
      if (hasUpdate !== 'true') {
        return false;
      }

      switch (this.network.type) {
        // Don't update if the network type is slow (it probably costs a little bit)
        case Connection.CELL:
        case Connection.CELL_2G:
        case Connection.CELL_3G:
        case Connection.UNKNOWN:
        case Connection.NONE:
          this.network
            .onchange()
            .pipe(take(1))
            .subscribe(() => {
              this.checkForUpdates();
            });
          return false;

        case Connection.WIFI:
        case Connection.CELL_4G:
        default:
          break;
      }

      await this.pro
        .deploy()
        .download()
        .pipe(
          tap(status => console.log('Download status:', status)),
          filter(status => status === 'true' || status === 'done'),
          switchMap(() => this.pro.deploy().extract()),
          tap(status => console.log('Extract status:', status)),
          filter(status => status === 'true' || status === 'done'),
          take(1),
          timeout(30 * 1000),
        )
        .toPromise();

      if (this.settings.isDeveloper) {
        const alert = await this.alertCtrl.show({
          title: 'New update available',
          message: 'There is a new update available',
          buttons: [
            {
              text: 'Install',
              role: 'install',
            },
            {
              text: 'Postpone',
              role: 'cancel',
            },
          ],
        });

        return new Promise(resolve => {
          alert.onDidDismiss((_, role) => {
            if (role === 'install') {
              this.pro.deploy().redirect();
              resolve(true);
            } else {
              resolve(false);
            }
          });
        });
      }
      return false;
    } finally {
      this.checking = false;
    }
  }
開發者ID:ifiske,項目名稱:iFiske,代碼行數:88,代碼來源:deploy.ts

示例2: setChannel

  async setChannel(channel: string) {
    await this.platform.ready();
    this.settings.channel = channel;

    await this.hasDeploy();

    return this.pro.deploy().init({
      appId: APP_ID,
      channel,
    });
  }
開發者ID:ifiske,項目名稱:iFiske,代碼行數:11,代碼來源:deploy.ts

示例3: hasDeploy

 async hasDeploy() {
   if (!this.pro.deploy()) {
     throw new Error('Deploy not loaded');
   }
 }
開發者ID:ifiske,項目名稱:iFiske,代碼行數:5,代碼來源:deploy.ts

示例4: switchMap

 switchMap(() => this.pro.deploy().extract()),
開發者ID:ifiske,項目名稱:iFiske,代碼行數:1,代碼來源:deploy.ts


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