0
正如我們所知,構造函數首先執行..但是當我嘗試在構造函數中訂閱服務時,在ngOnInit之後執行..但是我想在執行ngOnInt之前訂閱服務。你能幫我麼?在構造函數中訂閱服務在angular2中執行ngOnInit之後執行
這是我的示例代碼
constructor(private otherRoleService: OtherRoleService) {
this.data = [{
"roleid" : "0"
}];
this.otherRoleService.getOtherRoles(this.data).subscribe(res => console.log('constructor'), err => this.fail(err));}
ngOnInit(){
console.log('OnInit')
}
您需要了解異步。你在ngOnInit之前訂閱。但是您稍後會收到來自您的訂閱的第一個異步事件。就像,如果你訂閱電子報,然後吃烤麪包,你會在你收到電子報的第一封郵件之前(也許在一兩天後)吃掉你的烤麪包片。 –
@JBNizet這不取決於烤麪包的大小?我的意思是,如果你用全尺寸麪包做的麪包,它可能需要一段時間吃它 – PierreDuc
有一個關於事件循環的好視頻,這將幫助你瞭解JavaScript的工作原理和爲什麼你的數據訂閱在onInit之後:https://www.youtube.com/watch?v = 8aGhZQkoFbQ – Yevgen