订阅方法不适用于角度

时间:2020-02-29 05:08:57

标签: node.js angular

product-operations.component.ts

  deleteProduct() {
    this.productsService.delete_product(this.deleteID).subscribe((res: any) => {
       console.log("helloooooo");
    });
  };

product.service.ts

  delete_product(id) {
    return this.http.delete("http://localhost:3000/delete_product/" + id);
  }

后端

exports.deleteProduct = (req, res, next) => {
  const id = req.param("id");
  Product.deleteOne({ _id: id })
    .then(() => {
      console.log("deleted");
    })
    .catch(err => {
      console.log(err);
    });
};

问题: 在以上代码中,product-operations.component.ts中的deleteProduct函数无法正常工作。更确切地说,它可以删除。但是在完成卸载后,subscribe不会运行其内容。这样可以防止我在删除后立即更新。我该如何解决?

1 个答案:

答案 0 :(得分:1)

尝试从服务器发送回响应。

exports.deleteProduct = (req, res, next) => {
  const id = req.param("id");
  Product.deleteOne({ _id: id })
    .then(() => {
      res.send({}) // or res.send({id: id})
      console.log("deleted");
    })
    .catch(err => {
      res.status(500)
      res.send({error: err})
      console.log(err);
    });
};