首页 > 解决方案 > 引用我希望从服务器接收的数据

问题描述

如果我没有按照您的期望进行布局,那么在这里很抱歉。

所以我将我的反应表单数据提交到服务器(mongodb 数据库)。然后,我想路由到一个新路径,该路径传递数据库作为 URL 中的参数返回到前端的 ID 元素。

到目前为止,这是我在提交功能中所拥有的:

  onsubmit(){
    let opdata = null;
    this.location.saveOpnote(this.form.value)
    .subscribe(response => {
      opdata = response
      console.log(response)
    })
    this.route.navigate(['/opnotes/mopsdisplay', opdata._id])

  }

因此数据完美保存,后端返回新条目的_id。浏览器抱怨:

错误类型错误:无法读取 null 的属性“_id”

我的理解是浏览器在保存到服务器的异步部分完成并且 _id 可用之前正在查看这个。

我该如何解决这个问题?

非常感谢。

标签: javascriptangularmongodbasynchronous

解决方案


您希望完成您的请求,因此导航部分应该是订阅内的最后一行而不是订阅之外。正如您提到的,您对保存的调用是异步的,导航块在保存操作完成之前执行。


推荐阅读