我正在构建Angular2模块来缓存图像。我使用提供服务返回Observables的已加载资源,如果已经缓存则为sync,如果没有则为async。
然而,我尝试在app start上预加载批量图像,并遇到concatMap函数的问题。
public preloadImages(imgUrls: string[]) {
console.log(this.cachedResources); //Everything is fine here
return Observable.from(imgUrls).concatMap(this.getImage);
}
我的提供程序使用集合对象private cachedResources: DictMap<CachedResource>;
来存储缓存数据,如果它被concatMap调用,则无法访问getImage
函数。
public getImage(imgUrl: string) {
console.log(this.cachedResources); //Unidentified
}
那么如何在功能中使其可见?
答案 0 :(得分:1)
Criteria = sessionFactory.openSession().createCriteria(Foo.class);
返回un observable,其回调必须返回一个内部Observable
concatMap