当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript message_bus.MessageBus类代码示例

本文整理汇总了TypeScript中angular2/src/web_workers/shared/message_bus.MessageBus的典型用法代码示例。如果您正苦于以下问题:TypeScript MessageBus类的具体用法?TypeScript MessageBus怎么用?TypeScript MessageBus使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了MessageBus类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: beforeEach

 beforeEach(() => {
   var buses = createPairedMessageBuses();
   uiBus = buses.ui;
   workerBus = buses.worker;
   workerBus.initChannel("ng-Router");
   uiBus.initChannel("ng-Router");
   broker = new SpyMessageBroker();
 });
开发者ID:JavaScript-Resource,项目名称:angular,代码行数:8,代码来源:platform_location_spec.ts

示例2: constructor

  constructor(bus: MessageBus, anchorBasedAppRootUrl: AnchorBasedAppRootUrl) {
    var rootUrl = anchorBasedAppRootUrl.value;
    var sink = bus.to(SETUP_CHANNEL);
    var source = bus.from(SETUP_CHANNEL);

    ObservableWrapper.subscribe(source, (message: string) => {
      if (message === "ready") {
        ObservableWrapper.callNext(sink, {"rootUrl": rootUrl});
      }
    });
  }
开发者ID:KenWilliamson,项目名称:Angular2HostedMobileApp,代码行数:11,代码来源:setup.ts

示例3: describe

  describe("PostMessageBusSink", () => {
    var bus: MessageBus;
    const CHANNEL = "Test Channel";

    function setup(runInZone: boolean, zone: NgZone) {
      bus.attachToZone(zone);
      bus.initChannel(CHANNEL, runInZone);
    }

    /**
     * Flushes pending messages and then runs the given function.
     */
    // TODO(mlaval): timeout is fragile, test to be rewritten
    function flushMessages(fn: () => void) { TimerWrapper.setTimeout(fn, 50); }

    it("should buffer messages and wait for the zone to exit before sending",
       withProviders(() => [provide(NgZone, {useClass: MockNgZone})])
           .inject([AsyncTestCompleter, NgZone],
                   (async, zone: MockNgZone) => {
                     bus = createConnectedMessageBus();
                     setup(true, zone);

                     var wasCalled = false;
                     ObservableWrapper.subscribe(bus.from(CHANNEL),
                                                 (message) => { wasCalled = true; });
                     ObservableWrapper.callEmit(bus.to(CHANNEL), "hi");


                     flushMessages(() => {
                       expect(wasCalled).toBeFalsy();

                       zone.simulateZoneExit();
                       flushMessages(() => {
                         expect(wasCalled).toBeTruthy();
                         async.done();
                       });
                     });
                   }),
       500);

    it("should send messages immediatly when run outside the zone",
       inject([AsyncTestCompleter, NgZone], (async, zone: MockNgZone) => {
         bus = createConnectedMessageBus();
         setup(false, zone);

         var wasCalled = false;
         ObservableWrapper.subscribe(bus.from(CHANNEL), (message) => { wasCalled = true; });
         ObservableWrapper.callEmit(bus.to(CHANNEL), "hi");

         flushMessages(() => {
           expect(wasCalled).toBeTruthy();
           async.done();
         });
       }), 10000);
  });
开发者ID:844496869,项目名称:angular,代码行数:55,代码来源:message_bus_spec.ts

示例4: createConnectedMessageBus

                   (async, zone: MockNgZone) => {
                     bus = createConnectedMessageBus();
                     setup(true, zone);

                     var wasCalled = false;
                     ObservableWrapper.subscribe(bus.from(CHANNEL),
                                                 (message) => { wasCalled = true; });
                     ObservableWrapper.callEmit(bus.to(CHANNEL), "hi");


                     flushMessages(() => {
                       expect(wasCalled).toBeFalsy();

                       zone.simulateZoneExit();
                       flushMessages(() => {
                         expect(wasCalled).toBeTruthy();
                         async.done();
                       });
                     });
                   }),
开发者ID:844496869,项目名称:angular,代码行数:20,代码来源:message_bus_spec.ts

示例5: bootstrapUICommon

export function bootstrapUICommon(bus: MessageBus): WebWorkerApplication {
  BrowserDomAdapter.makeCurrent();
  var zone = createNgZone();
  wtfInit();
  bus.attachToZone(zone);
  return zone.run(() => {
    var injector = createInjector(zone, bus);
    injector.get(MessageBasedRenderer).start();
    injector.get(MessageBasedXHRImpl).start();
    injector.get(WebWorkerSetup).start();
    return injector.get(WebWorkerApplication);
  });
}
开发者ID:chiragjraval,项目名称:AdvisroySystemPOC,代码行数:13,代码来源:impl.ts

示例6: start

  start(): void {
    var broker = this._brokerFactory.createMessageBroker(RENDERER_CHANNEL);
    this._bus.initChannel(EVENT_CHANNEL);
    this._eventDispatcher = new EventDispatcher(this._bus.to(EVENT_CHANNEL), this._serializer);

    broker.registerMethod("renderComponent", [RenderComponentType, PRIMITIVE],
                          bind(this._renderComponent, this));

    broker.registerMethod("selectRootElement", [RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._selectRootElement, this));
    broker.registerMethod("createElement",
                          [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._createElement, this));
    broker.registerMethod("createViewRoot", [RenderStoreObject, RenderStoreObject, PRIMITIVE],
                          bind(this._createViewRoot, this));
    broker.registerMethod("createTemplateAnchor", [RenderStoreObject, RenderStoreObject, PRIMITIVE],
                          bind(this._createTemplateAnchor, this));
    broker.registerMethod("createText",
                          [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._createText, this));
    broker.registerMethod("projectNodes", [RenderStoreObject, RenderStoreObject, RenderStoreObject],
                          bind(this._projectNodes, this));
    broker.registerMethod("attachViewAfter",
                          [RenderStoreObject, RenderStoreObject, RenderStoreObject],
                          bind(this._attachViewAfter, this));
    broker.registerMethod("detachView", [RenderStoreObject, RenderStoreObject],
                          bind(this._detachView, this));
    broker.registerMethod("destroyView", [RenderStoreObject, RenderStoreObject, RenderStoreObject],
                          bind(this._destroyView, this));
    broker.registerMethod("setElementProperty",
                          [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._setElementProperty, this));
    broker.registerMethod("setElementAttribute",
                          [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._setElementAttribute, this));
    broker.registerMethod("setBindingDebugInfo",
                          [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._setBindingDebugInfo, this));
    broker.registerMethod("setElementClass",
                          [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._setElementClass, this));
    broker.registerMethod("setElementStyle",
                          [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._setElementStyle, this));
    broker.registerMethod("invokeElementMethod",
                          [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._invokeElementMethod, this));
    broker.registerMethod("setText", [RenderStoreObject, RenderStoreObject, PRIMITIVE],
                          bind(this._setText, this));
    broker.registerMethod("listen", [RenderStoreObject, RenderStoreObject, PRIMITIVE, PRIMITIVE],
                          bind(this._listen, this));
    broker.registerMethod("listenGlobal", [RenderStoreObject, PRIMITIVE, PRIMITIVE, PRIMITIVE],
                          bind(this._listenGlobal, this));
    broker.registerMethod("listenDone", [RenderStoreObject, RenderStoreObject],
                          bind(this._listenDone, this));
  }
开发者ID:844496869,项目名称:angular,代码行数:56,代码来源:renderer.ts

示例7: start

  start(): void {
    this._bus.initChannel(SETUP_CHANNEL, false);
    var sink = this._bus.to(SETUP_CHANNEL);
    var source = this._bus.from(SETUP_CHANNEL);

    ObservableWrapper.subscribe(source, (message: string) => {
      if (StringWrapper.equals(message, "ready")) {
        ObservableWrapper.callEmit(sink, {"rootUrl": this.rootUrl});
      }
    });
  }
开发者ID:kreo,项目名称:angular-2-bootstraping,代码行数:11,代码来源:setup.ts

示例8: inject

       inject([AsyncTestCompleter, NgZone], (async, zone: MockNgZone) => {
         setup(false, zone);

         var wasCalled = false;
         ObservableWrapper.subscribe(bus.from(CHANNEL), (message) => { wasCalled = true; });
         ObservableWrapper.callEmit(bus.to(CHANNEL), "hi");

         flushMessages(() => {
           expect(wasCalled).toBeTruthy();
           async.done();
         });
       }), 10000);
开发者ID:1186792881,项目名称:angular,代码行数:12,代码来源:message_bus_spec.ts

示例9: inject

       inject([AsyncTestCompleter], (async) => {
         const CHANNEL = "CHANNEL 1";
         const MESSAGE = "Test message";
         bus.initChannel(CHANNEL, false);

         var fromEmitter = bus.from(CHANNEL);
         ObservableWrapper.subscribe(fromEmitter, (message: any) => {
           expect(message).toEqual(MESSAGE);
           async.done();
         });
         var toEmitter = bus.to(CHANNEL);
         ObservableWrapper.callEmit(toEmitter, MESSAGE);
       }));
开发者ID:844496869,项目名称:angular,代码行数:13,代码来源:message_bus_spec.ts

示例10: it

    it("should keep channels independent", inject([AsyncTestCompleter], (async) => {
         const CHANNEL_ONE = "CHANNEL 1";
         const CHANNEL_TWO = "CHANNEL 2";
         const MESSAGE_ONE = "This is a message on CHANNEL 1";
         const MESSAGE_TWO = "This is a message on CHANNEL 2";
         var callCount = 0;
         bus.initChannel(CHANNEL_ONE, false);
         bus.initChannel(CHANNEL_TWO, false);

         var firstFromEmitter = bus.from(CHANNEL_ONE);
         ObservableWrapper.subscribe(firstFromEmitter, (message) => {
           expect(message).toEqual(MESSAGE_ONE);
           callCount++;
           if (callCount == 2) {
             async.done();
           }
         });
         var secondFromEmitter = bus.from(CHANNEL_TWO);
         ObservableWrapper.subscribe(secondFromEmitter, (message) => {
           expect(message).toEqual(MESSAGE_TWO);
           callCount++;
           if (callCount == 2) {
             async.done();
           }
         });

         var firstToEmitter = bus.to(CHANNEL_ONE);
         ObservableWrapper.callEmit(firstToEmitter, MESSAGE_ONE);

         var secondToEmitter = bus.to(CHANNEL_TWO);
         ObservableWrapper.callEmit(secondToEmitter, MESSAGE_TWO);
       }));
开发者ID:844496869,项目名称:angular,代码行数:32,代码来源:message_bus_spec.ts


注:本文中的angular2/src/web_workers/shared/message_bus.MessageBus类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。