首页 > 解决方案 > 为什么这个 Angular HttpClient Post 没有同步?

问题描述

foo() 和 addProduct() 都是同一个类的方法。addProduct() 在提交表单时被调用。我希望在控制台中首先显示“ok1”,然后显示“ok2”,但情况并非如此。我做错了什么?

  async foo(url, obj) {
     const result = await this.http.post(url, obj).toPromise();
     return result;
  }

  addProduct(ProductName, ProductDescription, ProductPrice) {
    const obj = {
      ProductName,
      ProductDescription,
      ProductPrice
    };

    this.foo("http://localhost:4000/products/add", obj).then( (result) => {
        console.log("ok1");
    });
    console.log("ok2");
  }

标签: angular

解决方案


console.log("ok2")

在发送 http 请求后立即运行。当 http 请求返回时,

console.log("ok1")

正在运行


推荐阅读