Angular 如何将承诺的值返回给需要返回静态数据的函数?
我正在开发一个Ionic 2应用程序,它有一个我正在使用的组件,该组件利用一个函数,该函数要求返回一个静态数据数组或一个可观察值 我使用Algolia处理搜索,当用户开始键入时,我想查询Algolia并将结果返回到自动完成。主要的问题是,由于Algolia调用返回一个承诺,因此我无法从函数返回的Angular 如何将承诺的值返回给需要返回静态数据的函数?,angular,algolia,Angular,Algolia,我正在开发一个Ionic 2应用程序,它有一个我正在使用的组件,该组件利用一个函数,该函数要求返回一个静态数据数组或一个可观察值 我使用Algolia处理搜索,当用户开始键入时,我想查询Algolia并将结果返回到自动完成。主要的问题是,由于Algolia调用返回一个承诺,因此我无法从函数返回的.then()中获取数据。有没有直截了当的方法 Here's my function: getResults(keyword:string) { return this.genresInde
.then()
中获取数据。有没有直截了当的方法
Here's my function:
getResults(keyword:string) {
return this.genresIndex.search(keyword).then(result => {
return result.hits; // <-- this would just be an array of results
})
}
这是我的功能:
getResults(关键字:字符串){
返回此.genresIndex.search(关键字)。然后(结果=>{
返回result.hits;//
这需要一个静态的数据数组或一个可观察的
返回
因此,您可以将承诺包装成可观察的,并返回它:
return Observable.from(this.genresIndex.search(..).then(...))
返回一个可观察的,返回可观察的。从(this.genresIndex.search(…)。然后(…)
@MaximKoretskyi你是一个很棒的人,我希望我能拥抱你。我为此奋斗了几个小时。非常感谢你!不客气)我把它作为一个答案贴了出来,这样你也许可以接受它作为拥抱的替代:)绝对:)再次感谢!
return Observable.from(this.genresIndex.search(..).then(...))