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


TypeScript Rx.Subject类代码示例

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


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

示例1: doFileOperation

    /**
     * General method for performing the given operation (copy|move)
     *
     * @param action the action to perform (copy|move)
     * @param type type of the content (content|folder)
     * @param contentEntry the contentEntry which has to have the action performed on
     * @param permission permission which is needed to apply the action
     */
    private doFileOperation(action: string, type: string, contentEntry: MinimalNodeEntryEntity, permission?: string): Subject<string> {
        const observable: Subject<string> = new Subject<string>();

        if (this.contentService.hasPermission(contentEntry, permission)) {
            const data: ContentNodeSelectorComponentData = {
                title: `${action} ${contentEntry.name} to ...`,
                currentFolderId: contentEntry.parentId,
                rowFilter: this.rowFilter.bind(this, contentEntry.id),
                imageResolver: this.imageResolver.bind(this),
                select: new EventEmitter<MinimalNodeEntryEntity[]>()
            };

            this.dialog.open(ContentNodeSelectorComponent, { data, panelClass: 'adf-content-node-selector-dialog', width: '630px' });

            data.select.subscribe((selections: MinimalNodeEntryEntity[]) => {
                const selection = selections[0];
                this.documentListService[`${action}Node`].call(this.documentListService, contentEntry.id, selection.id)
                    .subscribe(
                        observable.next.bind(observable, `OPERATION.SUCCES.${type.toUpperCase()}.${action.toUpperCase()}`),
                        observable.error.bind(observable)
                    );
                this.dialog.closeAll();
            });

            return observable;
        } else {
            observable.error(new Error(JSON.stringify({ error: { statusCode: 403 } })));
            return observable;
        }
    }
开发者ID:gravitonian,项目名称:alfresco-ng2-components,代码行数:38,代码来源:node-actions.service.ts

示例2: isAuthenticated

 isAuthenticated(): Observable<boolean> {
   const subject = new Subject<boolean>();
   firebase.auth().onAuthStateChanged(function(user) {
     if (user) {
       subject.next(true);
     } else {
       subject.next(false);
     }
   });
   return subject.asObservable();
 }
开发者ID:Fishmore,项目名称:CookBook,代码行数:11,代码来源:auth.service.ts

示例3: open

	public open(message?: string): Observable<any> {
		if (message && message.length > 0) {
			this.message = message;
		}
		this.dialog.nativeElement.open();

		if (this._subject) {
			this._subject.complete();
		}
		this._subject = new Subject<boolean>();
		return this._subject.asObservable();
	}
开发者ID:Ingradi,项目名称:angular2-wine-app,代码行数:12,代码来源:confirm-dialog.component.ts

示例4: function

 geocoder.geocode(options, function (results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
     geocode$.next(results);
   } else {
     geocode$.error(results);
   }
 });
开发者ID:ncwright,项目名称:ng2-ui,代码行数:7,代码来源:geo-coder.ts

示例5:

 firebase.auth().onAuthStateChanged(function(user) {
   if (user) {
     subject.next(true);
   } else {
     subject.next(false);
   }
 });
开发者ID:Fishmore,项目名称:CookBook,代码行数:7,代码来源:auth.service.ts

示例6: Error

			collection.find({ _id: new ObjectID(id) }).limit(1).next((err: MongoError, user: TEntity): void => {
				if (err) {
					throw new Error(err.message);
				}

				subject.next(user);
				subject.complete();
			});
开发者ID:nickmorton,项目名称:yes-admin,代码行数:8,代码来源:repository-base.ts

示例7: Error

				.toArray((err: MongoError, users: Array<IUser>): void => {
					if (err) {
						throw new Error(err.message);
					}

					subject.next(users);
					subject.complete();
				});
开发者ID:nickmorton,项目名称:yes-admin,代码行数:8,代码来源:user.repository.ts

示例8: setTimeout

        setTimeout(() => {

            const index = route.params['id'] - 1;

            const course = coursesData.courses[index];

            subject.next(course ? !course.pro : true);
            subject.complete();

        });
开发者ID:XcodeFi,项目名称:courses,代码行数:10,代码来源:course-detail-activate.guard.ts


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