0
サードパーティのライブラリ(ng2-img-tools)を使用してイメージのサイズ変更を行っています。 ライブラリ画像など非同期動作の完了角で
リサイズ、 作物、 resizeExactCropのサイズ変更を実行するために異なる機能を提供しています。
上記の関数は非同期操作です。
たとえば、
resizeImage(files:any, width:number, height:number){
return this.ng2ImgToolsService.resize(files, width, height)
.map((result:any) => result)
.catch((error:any) => error);
}
//For Thumbnails
resizeExactCrop(files:any, width:number, height:number){
return this.ng2ImgToolsService.resizeExactCrop(files, width, height)
.map((result:any) => result)
.catch((error:any) => error);
}
私は上記の2つの関数を呼び出してイメージのサイズを変更しています。
resizeImages(){
this.resizeImage([img1],400,400).subscribe(data => {
console.log("Resized Image is "+data); //1st finished
},
error => console.log("Resizing Image Failed", error));
this.resizeExactCrop([img1],100,100).subscribe(data => {
console.log("Cropped Image is "+data); //2nd finished
},
error => console.log("Resizing Image Failed", error));
}
IはresizeImages
における2以上の操作が終了したら、操作を実行する必要があります。どうすれば2つの操作が完了したかを追跡できます。私はカウンタを使用して非同期操作の完了を追跡しています。完了を効率的に追跡する方法はありますか?
(そのうちの一つは、2秒の遅延で動作します)作品を購読する私はforkJoinを試してみましたが、「値は」内部のサブスクライブと呼ばれる取得されていません。私は 'resizeImage'と 'resizeExactCrop'の中に何かを返す必要がありますか? – Anish
あなたの関数は 'forkJoin'なしで動作しますか? –
はい。私は別に電話して結果を得ることができました。 – Anish