我目前正在构建一个食谱应用程序,我有一个从API中提取的食谱列表。为此,我做了一个http get请求,如下所示。我想从JSON中提取{{id}}
并将其放在(id)所在的网址中。
loadDetails(id) {
if (this.details) {
return Promise.resolve(this.details);
}
return new Promise(resolve => {
this.http.get('http://api.yummly.com/v1/api/recipe/' + (id) + '?_app_id=397aed16&_app_key=69e2565adcec7a6609b18bef31261e62')
.map(res => res.json())
.subscribe(data => {
console.log(data);
this.details = data;
resolve(this.details);
});
});
}
通过这样做,我在控制台中收到此错误(id)未定义
我正在尝试加载配方的.ts文件如下所示
id: any;
loadRecipes(){
this.apiAuthentication.loadDetails(this.id)
.then(data => {
this.api = data;
});
}
任何帮助都会很棒
答案 0 :(得分:0)
从代码中可能看来id
未初始化为什么它会以undefined
的形式出现。正确地初始化它然后你就能得到结果。
e.g。
loadRecipes(){
this.id = 'someValue';
this.apiAuthentication.loadDetails(this.id)
.then(data => {
this.api = data;
});
}