【发布时间】:2020-07-09 17:57:10
【问题描述】:
我正在尝试使用 web api 调用 get 方法来访问数据并显示在我的页面中。我的网址类似于:https://localhost:44399/api/APIOrder/GetUserOrder?email=xxx@gmail.com 以便能够显示数据。
但是,当我将我的 url 与变量组合时,它不会显示任何内容,并且控制台日志会在 https://localhost:44399/api/APIOrder/GetUserOrder?email=[object Promise] 中显示 url。有什么方法可以让 url 读取我的 this.User 变量?
请查看我的 getUserOrder()
User = this.storage.get('currentUser');
constructor(private http:Http,public storage: Storage){
}
public getUserOrder()
{
var url="https://localhost:44399/api/APIOrder/GetUserOrder?email=";
console.log(url+this.User);
return this.http.get(url+this.User).map(res=>res.json());
}
我对此真的很陌生。如果我不清楚,请告诉我。任何帮助将不胜感激..
更新
它显示未定义,因为它访问顶部的变量值而不是来自 ionViewWillEnter
User:string;
constructor(private http:Http,public storage: Storage){
}
async ionViewWillEnter()
{
this.User = await this.storage.get('currentUser');
}
public getUserOrder()
{
var url="https://localhost:44399/api/APIOrder/GetUserOrder?email=";
console.log(url+ this.User);
return this.http.get(url+this.User).map(res=>res.json());
}
【问题讨论】:
-
请说明
this.User是如何制作/初始化的 -
@TomasVancoillie 它保存在我的 ionic 本地存储中并分配给一个变量
-
你应该等待promise的返回
User = await this.storage.get('currentUser'); -
@TomasVancoillie 它显示“等待”表达式只允许在异步函数中和模块的顶层使用。
标签: ionic-framework get angular-promise