我有一个非常简单的问题,但我自己无法获得答案。 在我的离子应用程序中,我正在从数据库中获取数据。我想要 修改来自我的
的数据sqlite.execute(): Promise<Article[]>
然后返回promise,因此视图组件中的函数只需通过以下方式显示数据:
this.controllercomponent.getSearchResults( SearchTerm ).then( Res => this.Articles = Res );
现在我正在解决带有嵌套承诺的问题,但是ionic返回错误:
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
}
}
答案 0 :(得分: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)); });
}