簡體   English   中英

訂閱http發布請求后在router.navigate上出現ObjectUnsubscribedError

[英]ObjectUnsubscribedError on router.navigate inside a subscribe of http post request

從http帖子獲得回復后,我試圖導航至頁面。 路由器導航需要響應對象,因為它基於response.id進行路由,如下面的代碼所示。

user.component.ts:

this._userService.createUser(data).subscribe(response => {
    this.router.navigate(['userEdit/' + response.id]);
});

服務內部:

createUser(userdata: User): Observable<User> {
    return this._httpClient.post<User>(url, userData, this._httpOptions);
}

內部app.routing.ts

{path: 'userEdit/:userId', component: UserEditComponent}

它可以正確導航到“ userEdit / 10”路徑,但在控制台上會顯示ObjectUnsubscribedError。

該應用程序運行正常,但我想了解為什么會出現此錯誤。

控制台錯誤:

控制台錯誤的屏幕截圖

通過堆棧跟蹤,我意識到該錯誤是由ngx-bootstrap模態指令引發的。

modal.directive.js:276

我在createUser函數調用之前隱藏了模態,並且由於router.navigate被破壞,這引發了錯誤。

通過在modal.onHidden.subscribe()中添加createUser函數調用來修復此問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM