angular - 为什么这个 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");
}
解决方案
console.log("ok2")
在发送 http 请求后立即运行。当 http 请求返回时,
console.log("ok1")
正在运行
推荐阅读
- jquery - Bootstap 4 Modal - 在触发模态时执行匿名函数
- php - 为什么我的 php 网站不会显示在本地主机上?
- javascript - 使用 react-window 或 react-virtualized 渲染 CSV 数据
- authentication - 如何从 mule 代理中调用 rest api
- flutter - Flutter 测试框架捕获的异常
- css - Material-ui Accordion 填充容器
- c# - 使用 --userdata dir 参数和隐身模式在 c# 中打开 chrome
- javascript - Javascript 需要防止输入空格
- appium - Appium Android mjpegScreenshotUrl 远程 URL 和端口号不起作用
- c - 应该在代码中添加什么以免出现“注意:在此处声明 WINBASEAPI BOOL WINAPI CreateProcessA”之类的错误