এই অপারেটরের বর্তমান "পাইপযোগ্য" রূপটি বলা হয় finalize()
(আরএক্সজেএস 6 থেকে) since পুরানো এবং এখন finally()
অবহেলিত "প্যাচ" অপারেটরকে ডাকা হয়েছিল (আরএক্সজেএস 5.5 পর্যন্ত)।
আমি মনে করি finalize()
অপারেটরটি আসলে সঠিক। তুমি বলো:
আমি যখন সাবস্ক্রাইব করব তখনই এবং সেই ধারাটি শেষ করার পরে সেই যুক্তিটি করুন
যা আমি মনে করি কোন সমস্যা নয়। আপনি চাইলে এটিতে সাবস্ক্রাইব করার আগে আপনি একটি একক থাকতে পারেন source
এবং ব্যবহার finalize()
করতে পারেন। এইভাবে আপনার সর্বদা ব্যবহারের প্রয়োজন হয় না finalize()
:
let source = new Observable(observer => {
observer.next(1);
observer.error('error message');
observer.next(3);
observer.complete();
}).pipe(
publish(),
);
source.pipe(
finalize(() => console.log('Finally callback')),
).subscribe(
value => console.log('#1 Next:', value),
error => console.log('#1 Error:', error),
() => console.log('#1 Complete')
);
source.subscribe(
value => console.log('#2 Next:', value),
error => console.log('#2 Error:', error),
() => console.log('#2 Complete')
);
source.connect();
এই কনসোল প্রিন্ট:
#1 Next: 1
#2 Next: 1
#1 Error: error message
Finally callback
#2 Error: error message
জানুয়ারী 2019: আরএক্সজেএস 6 এর জন্য আপডেট হয়েছে
finally()
পদ্ধতিটি প্রথমে সংযোজন করা হয়েছে, এবং সাবস্ক্রিপশনটি অপরিহার্যভাবে পাস / ব্যর্থ হয়ে জোর করে।