保证不会按顺序返回价值

时间:2018-08-28 12:20:08

标签: angular ionic-framework ionic2 ionic3

你好,我是离子的新手,

我想在后台从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});

   })
 }

}

Provider1:

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)
            })
        })
 }

}

Provider2:

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'

如何按顺序执行功能?

1 个答案:

答案 0 :(得分:2)

使用胖箭头功能myapp.mydomain.com代替=>

function