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


TypeScript Observable.create方法代码示例

本文整理汇总了TypeScript中rx.Observable.create方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Observable.create方法的具体用法?TypeScript Observable.create怎么用?TypeScript Observable.create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rx.Observable的用法示例。


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

示例1: join

  join(namespace, payload) {
    return Observable.create((observable) => {
      // connect to socketio endpoint
      const socket = socketio.connect(
        this.getNamespaceUrl(namespace),
        {
          path: this.path,
          // TODO: remove for allowing fallback?
          transports: ['websocket'],
        },
      );

      socket.emit('join', payload);

      socket.on('update', observable.onNext.bind(observable));

      socket.on('error', observable.onError.bind(observable));
      socket.on('reconnect_failed', observable.onError.bind(observable));
      // TODO check if the following errors are fatal
      // socket.on('reconnect_error', observable.onError.bind(observable));
      // socket.on('connect_error', observable.onError.bind(observable));

      return () => socket.close();
    });
  }
开发者ID:paperhive,项目名称:paperhive-frontend,代码行数:25,代码来源:websockets.ts

示例2: Error

 .flatMap((dataSource) => {
   return Rx.Observable.create((observer) => {
     if (dataSources.length > 1 && !(ds)) {
       let error = new Error(`Should have ${fileName} on ${dsDirPath} directory for multiple dataSources.`);
       observer.onError(error);
     }
     let dsConfig = DataSourceConfig.instance;
     let source = jsonTemplaterObject(RequireObject(dataSource), dsConfig.config);
     let dsKeys = Object.keys(source);
     if (ds && (dataSources.length > 1) && (dsKeys && dsKeys.length > 1)) {
       let _error = new Error(`File ${ds} should have only one(1) dataSource.`);
       observer.onError(_error);
     }
     dsKeys.forEach((dsKey) => {
       app.dataSource(dsKey, source[dsKey]);
       if (app.dataSources[dsKey]) {
         newDataSources.push(dsKey);
       }
     });
     if ((dataSources.indexOf(dataSource) + 1) === dataSources.length) {
       observer.onNext(newDataSources);
       observer.onCompleted();
     }
   });
 });
开发者ID:aelbore,项目名称:loopback-model-binder,代码行数:25,代码来源:datasource-loader.ts

示例3: spawn

export function spawn(cmd: string): Observable<string> {
  return Observable.create((observer: Observer<string>) => {
    console.log(`---> Spawning ${cmd}`)

    const args = cmd.split(' ');
    const child = _spawn(args[0], args.slice(1), {
      stdio: ['ignore', 'pipe', 'pipe'],
    });

    child.stdout.on('data', (buffer: Buffer) => {
      process.stdout.write(buffer);
      observer.onNext(buffer.toString());
    });

    child.stderr.on('data', (buffer: Buffer) => {
      process.stderr.write(buffer);
      observer.onNext(buffer.toString());
    });

    child.on('exit', () => {
      observer.onCompleted();
    });

    return () => {
      console.log(`---> Stopping "${cmd}"`);

      child.kill();
    };
  });
}
开发者ID:d6u,项目名称:dev-runner,代码行数:30,代码来源:ShellUtil.ts

示例4: onInit

  /**
   * Initialize/Load/Attached the Model to loopback 
   * return {Observable} => value = { configs: <object>, modelName: <string>, dataSource: <string> }
   */
  onInit(){
    let Schema = this[schema];
    let Configs = this[configs];
    let dataSource = Configs.dataSource;

    let schemaCopy = JSON.parse(JSON.stringify(Schema));
    let collections = schemaCopy.mongodb.collections;

    delete schemaCopy.mongodb;

    return Rx.Observable.create((observer) => {
      let model = this[app].loopback.createModel(schemaCopy);
      model.on('attached', () => { 
        ModelBinder.bindTo(Configs, model);
        MongoDbUtils.createCollection({
          app: this[app],
          modelName: model.modelName,
          dataSource: dataSource,
          collections: collections,
          schemaCopy: schemaCopy,
          configs: Configs
        }).subscribe((value) => {
          observer.onNext(value);
          observer.onCompleted();
        });  
      });   
      this[app].model(model, { 
        dataSource: (dataSource) ? dataSource : 'db', 
        public: true 
      }); 
    });
    
  }
开发者ID:aelbore,项目名称:loopback-model-binder,代码行数:37,代码来源:model-loader-mongodb.ts

示例5: loadTumblrData

 /**
  * Load the tumblr data as an rx operation
  */
 loadTumblrData():Observable<Array<PostDetails>> {
     return Observable.create<Array<PostDetails>>((observer) => {
         tumblrClient.blogPosts('creativedrewy', (err, data) => {
             var postData = this.parsePostData(data);
             observer.onNext(postData.slice(0, postCount));
         });
     });
 }
开发者ID:creativedrewy,项目名称:creativedrewy.com,代码行数:11,代码来源:TumblrLoadService.ts

示例6: getRoutes

 Routes = (route, entityName) => {
   return Rx.Observable.create((observer) => {
     let routes = [];
     if (route) { routes.push(route); }
     observer.onNext(routes); observer.onCompleted();
   }).flatMap((routes) => {
     return getRoutes(routes, entityName)
   });
 },
开发者ID:aelbore,项目名称:loopback-model-binder,代码行数:9,代码来源:entity-base-utils.ts

示例7: count

export function count(title: string): Rx.Observable<number> {
    return Rx.Observable.create((observer: Rx.Observer<number>) => {
        db.collection("articles")
            .count({ title: { $regex: `\\b${title}\\b`, $options: 'i' } }, (err, count) => {
                if (err) { observer.onError(err); }
                observer.onNext(count);
                observer.onCompleted();
            });
    });
}
开发者ID:nuvolarit,项目名称:ts-demo,代码行数:10,代码来源:db.rx.ts

示例8:

 .flatMap((modelName) => {
   return Rx.Observable.create((observer) => {
     observer.onNext({
       configs: localConfigs,
       modelName: modelName,
       dataSources: dataSources
     });
     observer.onCompleted();
   });
 });
开发者ID:aelbore,项目名称:loopback-model-binder,代码行数:10,代码来源:model-boot-utils.ts

示例9: find

export function find(title: string): Rx.Observable<IArticle[]> {
    return Rx.Observable.create((observer: Rx.Observer<IArticle[]>) => {
        db.collection("articles")
            .find({ title: { $regex: `\\b${title}\\b`, $options: 'i' } })
            .toArray((err, result) => {
                if (err) { observer.onError(err); }
                observer.onNext(result);
                observer.onCompleted();
            });
    });
}
开发者ID:nuvolarit,项目名称:ts-demo,代码行数:11,代码来源:db.rx.ts

示例10:

 getRoutes = (routes, entityName) => {
   return Rx.Observable.create((observer) => {
     if (routes.length < 1) {
       let entity = Entity.collection.byEntity(entityName);
       for (let i = 0; i < entity.routes.length; i++) {
         routes.push(RequireObject(entity.routes[i]));
       }
     }
     observer.onNext(routes); observer.onCompleted();
   });
 };
开发者ID:aelbore,项目名称:loopback-model-binder,代码行数:11,代码来源:entity-base-utils.ts


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