Ionic2 离子2链承诺
如何使用ionic 2向服务器发送多个请求 我在Ionic2 离子2链承诺,ionic2,Ionic2,如何使用ionic 2向服务器发送多个请求 我在sqlitedB中有三个离线工作的表。我想在有活动的internet连接时将此与服务器同步。 我这样说: 发送第一个表的数据-如果成功,它将从服务器返回插入的IDs。因此,我用新的ID更新本地数据,并用第一个表ID更新第二个表的关系 然后,我继续为第二个表发送数据,并执行与第一个表类似的操作,然后继续为第三个表发送数据 synchData() { let result = []; this.userDao.get('
sqlite
dB中有三个离线工作的表。我想在有活动的internet连接时将此与服务器同步。
我这样说:
IDs
。因此,我用新的ID
更新本地数据,并用第一个表ID
更新第二个表的关系 synchData() {
let result = [];
this.userDao.get('TOKEN').then(tkn => {
this.itendao.getAll().then(itins => {
for (let i of itins) {
let event = {
Token: '',
Itin: {
itin: Object(),
relevs: {
relev: Object(),
obs: []
}
}
}
event.Token = tkn;
event.Itin.itin = i;
this.relevedao.geItenReleve(i.IdItin).then(rlvs => {
for (let r of rlvs) {
event.Itin.relevs.relev=r;
this.especesobsDao.getReleveObs(r.CodRel).then(obs => {
event.Itin.relevs.obs.push(obs);
});
}
});
result.push(event);
}
console.log(result);
});
});
如何使用ionic 2实现这一点?您可以通过使用flatMap和subscribe使用implement:
this.userDao.get('TOKEN').flatMap(tkn => {
return this.itendao.getAll()
})
.flatMap(itins => {
for (let i of itins) {
let event = {
Token: '',
Itin: {
itin: Object(),
relevs: {
relev: Object(),
obs: []
}
}
}
event.Token = tkn;
event.Itin.itin = i;
}
return this.relevedao.geItenReleve(i.IdItin)
})
.subscribe(rlvs => {
for (let r of rlvs) {
event.Itin.relevs.relev = r;
this.especesobsDao.getReleveObs(r.CodRel).then(obs => {
event.Itin.relevs.obs.push(obs);
});
}
})
你能分享你的代码吗?你试过什么吗?请分享代码。