【发布时间】:2019-12-21 23:45:31
【问题描述】:
我一直在尝试使用教程,但似乎无法弄清楚如何使用 Promises 或异步等待。
我有一个 http GET 请求,我想在返回之前等待 API 的结果。返回为 null 因为函数在 GET 发生之前返回。
HTTP 获取
get_UserAccess(practiceId: number, userId: number): UserAccess {
var d: UserAccess;
this.httpclient.get(this.URL).subscribe.(data => {
d = data as UserAccess;
});
return d; //Keeps returning as null
调用组件
var userAccess = this.dataService.get_UserAccess(this.practice.practiceId, this.users[i].userId);
this.loadAccess(userAccess);
我尝试将 await 和 async 标记添加到 get 请求,但我不确定如何处理它返回到调用组件的承诺..
【问题讨论】:
-
@OnurArı 这不是 c#。不过谢谢!
-
独立于编程语言的想法是相同的。您对异步调用的理解是错误的,这就是它可以提供帮助的原因。
-
见前面提到的suggested duplicate。异步调用是编写/设计应用程序的常见且关键的构建块。了解如何在 javascript 中以及通过扩展 typescript 处理异步调用至关重要。了解这些核心概念将帮助您成为一名更好的程序员,并确保您不会一直在同一个问题上“磕磕绊绊”。
标签: angular async-await angular-promise