你好,我是ionic的新手,
我想在后台从pouch-db
获取数据。
经过一些研究,我发现承诺的概念将解决我的问题。
我想按照下面给出的顺序执行我的控制台日志 1、2 和 3
这是我的代码:
类:
class1{
method1(){
class2Provider.method2().then(function (result:any) {
console.log("3")
console.log("VSCP "+result);
this.navCtrl.push('InspectionPage',{'inspectnData':result});
})
}
}
提供商 1:
export class ModelProvider {
method2(){
return new Promise (resolve => {
this.dbHelpr.getRecord().then(function (result:any) {
console.log("2")
console.log("data for inspectId is -------------"+JSON.stringify(tempData));
resolve(result)
})
})
}
}
提供程序 2:
export class DbHelperProvider {
getRecord(){
return new Promise(resolve => {
this.db.get(_id).then(function (doc) {
console.log("1")
resolve(doc);
}).catch(function (err) {
console.log(err);
resolve("fail");
});
})
}
}
上面的代码首先执行日志 3 并显示错误
无法读取未定义的属性"navCtrl">
如何按所需顺序执行函数?
=>
使用 Fat 箭头函数而不是function
。
class1{
method1(){
class2Provider.method2().then((result: any) => {
console.log("3")
console.log("VSCP " + result);
this.navCtrl.push('InspectionPage', { 'inspectnData': result });
})
}
}