Angular 2主题接下来不起作用

时间:2017-06-08 19:11:41

标签: angular observable next subject

我有一个服务,其方法是检查登录用户是否有参数传递的X角色。问题是如果我把它放在“setTimeout”中,只有下一个函数可以工作,否则订阅者什么也得不到。

checkRoles(roles:Array<string>):Observable<boolean>{
        let sub = new Subject<boolean>();
        this.loggedUser$.subscribe(user=>{
            if(!isUndefined(user.roles)){
                user.roles.forEach(userRole => {
                    if(roles.indexOf(userRole.name) !==-1){
                        //Todo buscar porque en stackoverflow
                        setTimeout(()=>sub.next(true),1);
                    }
                });
                setTimeout(()=>sub.next(false),1);
            }
        });

        return sub.asObservable().first();
    }

0 个答案:

没有答案