下面是我的代码,我试图通过传递变量从API中获取数据。
let currentPage;
let nextPage;
let leadsArray;
this.storage.get('current_page').then((val) => {
currentPage = val;
nextPage = currentPage + 1;
});
return new Promise(resolve => {
this.http.get(this.webServiceUrl+'Inquiries/bwwFhAppTestApi3/'+this.clientId+'/'+nextPage)
.map(res => res.json())
.subscribe(data => {
//console.log(data);
leadsArray = data.leads;
this.storage.set('current_page', nextPage);
resolve(leadsArray);
});
});
当我检查HTTP请求时,该变量nextPage
始终呈现为未定义。由于currentPage
变量被设置为1,因此没有任何错误。
发布于 2017-06-28 06:37:37
您正在调用两个异步函数
function1(){
let currentPage;
let nextPage;
let _this =this;
this.storage.get('current_page').then((val) => {
currentPage = val;
nextPage = currentPage + 1;
_this.function2(nextPage);
});
}
function2(nextPage){
let leadsArray;
return new Promise(resolve => {
this.http.get(this.webServiceUrl+'Inquiries/bwwFhAppTestApi3/'+this.clientId+'/'+nextPage)
.map(res => res.json())
.subscribe(data => {
//console.log(data);
leadsArray = data.leads;
this.storage.set('current_page', nextPage);
resolve(leadsArray);
});
});
}
做这样的事情。
发布于 2017-06-29 10:22:01
doInfinite(infiniteScroll) {
let currentPage;
let nextPage;
this.storage.get('current_page').then((val) => {
currentPage = val;
nextPage = currentPage + 1;
this.webService.getOpenLeadsByPage(nextPage).then((result) => {
for( var lead in result) {
this.leads.push(result[lead]);
}
infiniteScroll.complete();
});
});
}
通过在我的home.ts
中这样做,我终于让它工作了
https://stackoverflow.com/questions/44793976
复制相似问题