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


TypeScript PromiseDelegate.resolve方法代碼示例

本文整理匯總了TypeScript中@phosphor/coreutils.PromiseDelegate.resolve方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript PromiseDelegate.resolve方法的具體用法?TypeScript PromiseDelegate.resolve怎麽用?TypeScript PromiseDelegate.resolve使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在@phosphor/coreutils.PromiseDelegate的用法示例。


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

示例1: it

 it('should fetch saved data', async () => {
   const ready = new PromiseDelegate<void>();
   const restorer = new LayoutRestorer({
     first: ready.promise,
     registry: new CommandRegistry(),
     state: new StateDB({ namespace: NAMESPACE })
   });
   const currentWidget = new Widget();
   // The `fresh` attribute is only here to check against the return value.
   const dehydrated: ILabShell.ILayout = {
     fresh: false,
     mainArea: { currentWidget: null, dock: null, mode: null },
     leftArea: {
       currentWidget,
       collapsed: true,
       widgets: [currentWidget]
     },
     rightArea: { collapsed: true, currentWidget: null, widgets: null }
   };
   restorer.add(currentWidget, 'test-one');
   ready.resolve(void 0);
   await restorer.restored;
   await restorer.save(dehydrated);
   const layout = await restorer.fetch();
   expect(layout).to.deep.equal(dehydrated);
 });
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:26,代碼來源:layoutrestorer.spec.ts

示例2:

      execute: (args: IRouter.ILocation) => {
        const { hash, path, search } = args;
        const query = URLExt.queryStringToObject(search || '');
        const reset = 'reset' in query;

        if (!reset) {
          return;
        }

        // If the state database has already been resolved, resetting is
        // impossible without reloading.
        if (resolved) {
          return document.location.reload();
        }

        // Empty the state database.
        resolved = true;
        transform.resolve({ type: 'clear', contents: null });

        // Maintain the query string parameters but remove `reset`.
        delete query['reset'];

        const url = path + URLExt.objectToQueryString(query) + hash;
        const cleared = commands.execute(CommandIDs.recoverState)
          .then(() => router.stop); // Stop routing before new route navigation.

        // After the state has been reset, navigate to the URL.
        cleared.then(() => { router.navigate(url, { silent: true }); });

        return cleared;
      }
開發者ID:cfsmile,項目名稱:jupyterlab,代碼行數:31,代碼來源:index.ts

示例3: it

      it('should restore the widgets in a tracker', done => {
        let tracker = new InstanceTracker<Widget>({
          namespace: 'foo-widget',
          shell: new ApplicationShell()
        });
        let registry = new CommandRegistry();
        let state = new StateDB({ namespace: NAMESPACE });
        let ready = new PromiseDelegate<void>();
        let restorer = new LayoutRestorer({
          first: ready.promise, registry, state
        });
        let called = false;
        let key = `${tracker.namespace}:${tracker.namespace}`;

        registry.addCommand(tracker.namespace, {
          execute: () => { called = true; }
        });
        state.save(key, { data: null }).then(() => {
          return restorer.restore(tracker, {
            args: () => null,
            name: () => tracker.namespace,
            command: tracker.namespace
          });
        }).catch(done);
        ready.resolve(void 0);
        restorer.restored.then(() => { expect(called).to.be(true); })
          .then(() => state.remove(key))
          .then(() => { done(); })
          .catch(done);
      });
開發者ID:charnpreetsingh185,項目名稱:jupyterlab,代碼行數:30,代碼來源:layoutrestorer.spec.ts

示例4: it

    it('should allow an overwrite data transformation', async () => {
      const transform = new PromiseDelegate<StateDB.DataTransform>();
      const db = new StateDB({
        namespace: 'test',
        transform: transform.promise
      });
      const prepopulate = new StateDB({ namespace: 'test' });
      const key = 'foo';
      const correct = 'bar';
      const incorrect = 'baz';
      const transformation: StateDB.DataTransform = {
        type: 'overwrite',
        contents: { [key]: correct }
      };

      // By sharing a namespace, the two databases will share data.
      await prepopulate.save(key, incorrect);
      let value = await prepopulate.fetch(key);
      expect(value).to.equal(incorrect);
      transform.resolve(transformation);
      await transform.promise;
      value = await db.fetch(key);
      expect(value).to.equal(correct);
      await db.clear();
    });
開發者ID:afshin,項目名稱:jupyterlab,代碼行數:25,代碼來源:statedb.spec.ts

示例5: it

 it('should resolve the underlying promise', done => {
   let delegate = new PromiseDelegate<number>();
   delegate.promise.then(value => {
     expect(value).to.equal(1);
     done();
   });
   delegate.resolve(1);
 });
開發者ID:afshin,項目名稱:phosphor,代碼行數:8,代碼來源:promise.spec.ts

示例6:

 .then(saved => {
   // If this command is called after a reset, the state database
   // will already be resolved.
   if (!resolved) {
     resolved = true;
     transform.resolve({ type: 'overwrite', contents: saved.data });
   }
 })
開發者ID:dalejung,項目名稱:jupyterlab,代碼行數:8,代碼來源:index.ts


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