Angular 如何将此对象传递给concatMap映射函数?
我正在构建用于缓存图像的Angular2模块。我使用的是提供程序服务,它返回加载资源的可观察值,如果已经缓存,则返回同步,否则返回异步 然而,我试图在应用程序启动时预加载一批图像,结果遇到了concatMap函数的问题。 My provider使用集合对象私有cachedResources:DictMap;存储缓存数据,如果由concatMap调用,则getImage函数无法访问缓存数据。 那么如何使它在函数中可见呢?concatMap返回unobservatable,它的回调必须返回一个内部observatableAngular 如何将此对象传递给concatMap映射函数?,angular,typescript,rxjs,Angular,Typescript,Rxjs,我正在构建用于缓存图像的Angular2模块。我使用的是提供程序服务,它返回加载资源的可观察值,如果已经缓存,则返回同步,否则返回异步 然而,我试图在应用程序启动时预加载一批图像,结果遇到了concatMap函数的问题。 My provider使用集合对象私有cachedResources:DictMap;存储缓存数据,如果由concatMap调用,则getImage函数无法访问缓存数据。 那么如何使它在函数中可见呢?concatMap返回unobservatable,它的回调必须返回一个内
public preloadImages(imgUrls: string[]) {
console.log(this.cachedResources); //Everything is fine here
return Observable.from(imgUrls).concatMap(url=> Observable.of(this.getImage(url));
}
啊,这正是我需要的。非常感谢
public getImage(imgUrl: string) {
console.log(this.cachedResources); //Unidentified
}
public preloadImages(imgUrls: string[]) {
console.log(this.cachedResources); //Everything is fine here
return Observable.from(imgUrls).concatMap(url=> Observable.of(this.getImage(url));
}