我尝试在我的ngOnInit方法中为每个人执行a(我使用角4+)。但它不能
这是我的代码:
export class ObjectDetailComponent implements OnInit {
public object$: Object ;
private member$: Object ;
private _sellers = [];
private _seller: string;
constructor(private route: ActivatedRoute, private _cookieService: CookieService,
private _objectService: AuctionedObjectService, private _memberService: MemberService, private _sellerService: SellerService) {
this.route.params.subscribe( params => this.object$ = params.id );
}
ngOnInit() {
this._objectService.getObject(this.object$).subscribe(
data => this.object$ = data);
this._memberService.getMember(Number(this._cookieService.get('login')))
.subscribe(data2 => this.member$ = data2);
this._sellerService.getSellers()
.subscribe(data3 => this._sellers = data3);
this.sellerUser();
}
public sellerUser(){
for(const seller of this._sellers){
if(Number(this._cookieService.get('login')) === seller.idUser){
this._seller = seller.username;
break;
}
}
}
}sellerUser()不工作:/
发布于 2018-12-06 02:47:09
在确定得到结果后使用同步逻辑,在this.sellerUser();下使用Subscripition。在当前的实现中,this.sellerUser();将在订阅结束之前被调用(因为订阅是异步的,并且在执行所有同步代码后将最终执行)。
this._sellerService.getSellers()
.subscribe(data3 => {
this._sellers = data3;
this.sellerUser(); // here
});https://stackoverflow.com/questions/53643841
复制相似问题