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


TypeScript maybe-promise.MaybePromise類代碼示例

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


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

示例1: showNotification

  private showNotification(request: RedirectRequest): MaybePromise<void> {
    this.debugLog.log("going to show a redirection notification");
    const browser = this.requestService.getBrowser(request);
    if (browser === null) {
      this.debugLog.log("showNotification: browser n/a");
      return MaybePromise.reject<void>(undefined);
    }

    const window = browser.ownerGlobal;

    const p = tryMultipleTimes(() => {
      const windowModule = this.windowModuleMap.get(window);
      if (!windowModule) {
        this.debugLog.log("showNotification: window module n/a");
        return false;
      }

      // Parameter "replaceIfPossible" is set to true,
      // because the "origin" of
      // redirections going through "nsIChannelEventSink" is just an
      // intermediate URI of a redirection chain, not a real site.
      return windowModule.r21n.showNotification(
          browser,
          {
            origin: request.originURI,
            target: request.destURIWithRef,
          },
          0,
          true,
      );
    });
    return MaybePromise.resolve(p);
  }
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:33,代碼來源:redirection-service.ts

示例2: startupSelf

 protected startupSelf() {
   this.addRulePopup = this.windowService.$id(
       this.window,
       addRuleMenuName,
   ) as any;
   return MaybePromise.resolve(undefined);
 }
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:7,代碼來源:redirection-notifications.ts

示例3: startupSelf

 public startupSelf() {
   const manifestUrl = this.chromeFileService.
       getChromeUrl("bootstrap-data/manifest.json");
   const p = this.chromeFileService.parseJSON(manifestUrl).then((data) => {
     this.data = data;
   });
   return MaybePromise.resolve(p);
 }
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:8,代碼來源:manifest.ts

示例4: startupSelf

  protected startupSelf() {
    if (this.cachedSettings.get("browserSettings.disableNetworkPrediction")) {
      this.networkPrivacyApi.networkPredictionEnabled.set({value: false}).catch(
          this.log.onError("set networkPredictionEnabled false"),
      );
    } else {
      this.networkPrivacyApi.networkPredictionEnabled.clear({}).catch(
          this.log.onError("clear networkPredictionEnabled setting"),
      );
    }

    return MaybePromise.resolve(undefined);
  }
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:13,代碼來源:browser-settings.module.ts

示例5: startupSelf

  protected startupSelf() {
    // create a scope variable
    (this.window as any).rpcontinued = {
      classicmenu: this.classicmenu,
      menu: this.menu,
      overlay: this.overlay,
    };

    this.xulTreeLists_ = this.xulService.getXulTreeLists(this.overlay);

    // add all XUL elements
    this.xulService.addTreeElementsToWindow(
        this.window,
        this.xulTreeLists.mainTree,
    );

    return MaybePromise.resolve(undefined);
  }
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:18,代碼來源:xul-trees.ts

示例6: it

    it("it's synchronous when all() is called with empty list", function() {
      // setup
      let thenFnCalled = false;
      let catchFnCalled = false;

      // exercise
      const mp = MaybePromise.all([]);
      mp.then(() => {
        thenFnCalled = true;
        return;
      }, () => {
        catchFnCalled = true;
      });

      // verify
      assert.strictEqual(thenFnCalled, true);
      assert.strictEqual(catchFnCalled, false);
    });
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:18,代碼來源:test-maybe-promise.ts

示例7: genMaybePromise

function genMaybePromise({isFulfilled, isPromiseWrapper, value = {}, usingAllFn = false}): MaybePromise<any> {
  const mpArg = isPromiseWrapper ? genPromise({isFulfilled, value}) : (value as any);
  const mp = isPromiseWrapper || isFulfilled ?
      MaybePromise.resolve(mpArg) : MaybePromise.reject(mpArg);
  return usingAllFn ? MaybePromise.all([mp]) : mp;
}
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:6,代碼來源:test-maybe-promise.ts

示例8: startupSelf

 protected startupSelf() {
   return MaybePromise.resolve(this.startupSelfAsync());
 }
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:3,代碼來源:settings-migration.ts

示例9: startupSelf

 protected startupSelf() {
   this.addToolbarButtonToAustralis();
   return MaybePromise.resolve(undefined);
 }
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:4,代碼來源:toolbarbutton.australis.ts

示例10: startupSelf

  protected startupSelf() {
    const promises: IInfoPromises = {};

    const checkPromise = (aPropName: keyof IInfoPromises) => {
      (promises[aPropName] as Promise<any>).catch((e) => {
        this.log.error(`Error initializing "${aPropName}":`, e);
      });
    };

    const infos: IOptionalInfos = {};

    // -------------------------------------------------------------------------
    // RP version info
    // -------------------------------------------------------------------------

    promises.lastRPVersion = Promise.resolve(
        this.cachedSettings.get("lastVersion") as IInfos["lastRPVersion"],
    );
    checkPromise("lastRPVersion");

    promises.isRPUpgrade =
        promises.lastRPVersion.
        then((lastRPVersion) => {
          // Compare with version 1.0.0a8 since that version introduced
          // the "welcome window".
          infos.isRPUpgrade = !!lastRPVersion &&
              this.versionComparator.compare(lastRPVersion, "1.0.0a8") <= 0;
          return infos.isRPUpgrade;
        });
    checkPromise("isRPUpgrade");

    promises.curRPVersion =
        this.managementApi.getSelf().
        then((addon) => {
          infos.curRPVersion = addon.version;
          return infos.curRPVersion;
        });
    checkPromise("curRPVersion");

    // -------------------------------------------------------------------------
    // app version info
    // -------------------------------------------------------------------------

    promises.lastAppVersion = Promise.resolve(
        this.cachedSettings.get("lastAppVersion") as IInfos["lastAppVersion"],
    );
    checkPromise("lastAppVersion");

    promises.curAppVersion =
        this.runtimeApi.getBrowserInfo().
        then(({version}) => {
          infos.curAppVersion = version;
          return version;
        });
    checkPromise("curAppVersion");

    // -------------------------------------------------------------------------
    // store last*Version
    // -------------------------------------------------------------------------

    const p = Promise.all(
        objectValues(promises as IObject<Promise<any>>),
    ).then(() => {
      this.infos = infos as IInfos;
      const {curAppVersion, curRPVersion} = infos;
      return this.cachedSettings.set({
        lastAppVersion: curAppVersion,
        lastVersion: curRPVersion,
      });
    }).catch((e) => {
      this.log.error("Failed to initialize VersionInfoService", e);
    }) as Promise<void>;

    return MaybePromise.resolve(p);
  }
開發者ID:RequestPolicyContinued,項目名稱:requestpolicy,代碼行數:75,代碼來源:version-info-service.ts


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