首页 文章

修改返回数据,然后在typescript / ionic中返回promise

提问于
浏览
0

我有一个非常简单的问题,但我自己无法得到答案 . 在我的离子应用程序中,我从数据库中获取数据 . 我想修改我的数据

sqlite.execute(): Promise<Article[]>

然后返回promise,以便view组件中的函数只需通过以下方式显示数据:

this.controllercomponent.getSearchResults( SearchTerm ).then( Res => this.Articles = Res );

到现在为止我用嵌套的promise来解决这个问题,但离子返回错误:

return new Promise<Article[]>( Resolve => 
    {
    this.dbGetSearchResults( SearchTerm ).then( Res => 
      { 
      //Modify articles array

      Resolve(Res);
      })
    .catch( Err => { this.showAlert( "Error fetching db data:", JSON.stringify(Err)); });
    });

错误:

{
"originalErr": {},
"__zone_symbol__currentTask": {
  "type": "microTask",
  "state": "notScheduled",
  "source": "Promise.then",
  "zone": "<root>",
  "cancelFn": null,
  "runCount": 0
}

}

1 回答

  • 0

    如果不需要,最好避免使用 Promise 构造函数 .

    function f() {
        return Promise.resolve()
            .then(()=>this.dbGetSearchResults( SearchTerm ))
            .then((Res)=>{
                /*Modify articles array*/
                return Res;
            })
            .catch( Err => { this.showAlert( "Error fetching db data:", JSON.stringify(Err)); });
    }
    

相关问题