【发布时间】:2018-12-06 17:09:20
【问题描述】:
我有一个非常简单的问题,但我自己无法得到答案。 在我的 ionic 应用程序中,我正在从数据库中获取数据。我想要 修改来自我的数据
sqlite.execute(): Promise<Article[]>
然后返回promise,以便视图组件中的函数只需通过以下方式显示数据:
this.controllercomponent.getSearchResults( SearchTerm ).then( Res => this.Articles = Res );
现在我用嵌套的 promise 解决了这个问题,但是 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
}
}
【问题讨论】:
-
为什么需要把它包裹在
new Promise中? -
一个承诺就够了吗?只是跳过视图组件中的
then和控制器组件中的return Res;?我可以在“dbGetSearchResults”的then回调中返回结果吗?
标签: typescript ionic-framework promise