我正在嘗試從后端 API 獲取用戶串列。這一切都完美無缺,除非一旦我在我的getAllUsers()
方法中記錄ngOnInit
我得到資料,但是當我記錄包含用戶串列的變數時我得到未定義。
這是我的代碼:
users:User[];
constructor(private userService:UserService) { }
ngOnInit(): void {
this.getAllUsers();
console.log(this.users); // ==> shows undefined
}
getAllUsers() {
this.userService.getAll().subscribe({
next:(data) => {
console.log(data); // ==> shows the result
this.users=data
}
})
}
誰能解釋一下它們之間的區別?我怎樣才能訪問訂閱方法之外的回應?不過,我還是個新手!提前致謝!
uj5u.com熱心網友回復:
從后端 api 獲取是一個異步呼叫,這意味著 iydk 需要時間來加載。這就是為什么 ngOninit 中的 console.log 顯示未定義而函式沒有顯示的原因。我希望它回答了你的問題
uj5u.com熱心網友回復:
在getAllUsers
你做一個異步請求。next
請求完成后執行并產生結果。但是,您在開始通話ngOnInit
后直接執行控制臺日志。此時請求還沒有完成,還沒有分配資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/537501.html
標籤:有角度的