当前位置: 首页>>代码示例>>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;未经允许,请勿转载。