কৌণিক টিউটোরিয়ালে পাইপ এবং ট্যাপের পদ্ধতিগুলি কী কী? [বন্ধ]


128

আমি https://angular.io এ টিউটোরিয়ালটি অনুসরণ করছি এবং ডকুমেন্টেশন খুঁজে পেতে আমার সমস্যা হচ্ছে; বিশেষত পদ্ধতিগুলির জন্য pipeএবং tapHttps://angular.io বা http://reactivex.io/rxjs/ এ আমি কিছুই খুঁজে পাচ্ছি না ।

আমার বোঝার বিষয়টি হ'ল pipeএবং আরএক্সজেএস থেকে আমদানি করা tapউভয় পদ্ধতিই Observableকি সঠিক? তাদের কী করার কথা?

এই পদ্ধতিগুলি কৌণিকের অংশ? এই দুটি পদ্ধতি কী করে?


55
যখন আমি ব্যবহারকারীরা যথাযথ প্রশ্ন জিজ্ঞাসা করে, যথাযথ উত্তর গ্রহণ করে, এবং এখনও মোডগুলির পক্ষে ওপি যা জিজ্ঞাসা করছে তা নির্বোধ: ডি - এই "অফ-টপিক" হ'ল কেন?
পল স্ট্রুপেইকিস

উত্তর:


106

আপনি ঠিক বলেছেন, ডকুমেন্টেশনে এই পদ্ধতিগুলির অভাব রয়েছে। তবে আমি যখন আরএক্সজেএস সংগ্রহস্থলের খনন করলাম তখন আমি ট্যাপ (এখানে পেস্ট করার জন্য খুব দীর্ঘ) এবং পাইপ অপারেটর সম্পর্কে ভাল মন্তব্য পেয়েছি :

  /**
   * Used to stitch together functional operators into a chain.
   * @method pipe
   * @return {Observable} the Observable result of all of the operators having
   * been called in the order they were passed in.
   *
   * @example
   *
   * import { map, filter, scan } from 'rxjs/operators';
   *
   * Rx.Observable.interval(1000)
   *   .pipe(
   *     filter(x => x % 2 === 0),
   *     map(x => x + x),
   *     scan((acc, x) => acc + x)
   *   )
   *   .subscribe(x => console.log(x))
   */

সংক্ষেপে:

পাইপ : একসাথে ক্রিয়ামূলক অপারেটরগুলিকে একটি শৃঙ্খলে সেলাই করার জন্য ব্যবহৃত হয়। আমরা কেবল এটি করতে পারার আগে observable.filter().map().scan(), তবে যেহেতু প্রতিটি আরএক্সজেএস অপারেটর একটি পর্যবেক্ষণযোগ্য পদ্ধতির চেয়ে স্ট্যান্ডেলোন ফাংশন, তাই আমাদের pipe()সেই অপারেটরগুলির একটি চেইন তৈরি করা প্রয়োজন (উপরে উদাহরণ দেখুন) see

আলতো চাপুন : পর্যবেক্ষণ করা ডেটার সাথে পার্শ্ব প্রতিক্রিয়া সম্পাদন করতে পারে তবে কোনওভাবেই স্ট্রিমটি সংশোধন করে না । প্রাক্তন নাম do()। আপনি এটিকে ভাবতে পারেন যেমন পর্যবেক্ষণযোগ্য সময়ের সাথে সাথে একটি অ্যারে ছিল, তবে tap()তার সমতুল্য হবে Array.forEach()


4
উত্তর এবং লিঙ্কগুলির জন্য আপনাকে ধন্যবাদ। আমার সমস্যার অংশটি হ'ল আমি কৌনিকটিতে নতুন এবং আমি নিশ্চিত নই যে কোন পদ্ধতিগুলি মূল জাভাস্ক্রিপ্ট বা নোড.জেএস বা আরএক্সজেএস বা কৌণিকের অংশ of আপনার উত্তর আমাকে তা পরিষ্কার করতে সাহায্য করেছে। ধন্যবাদ.
বেন রুবিন

3
@ বেনরুবিন আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি সরঞ্জামগুলি শেখার আগে সঠিকভাবে নেটিভ জেএস শিখতে শুরু করুন। এটি সরঞ্জামগুলি বুঝতে এবং এটি আসলে কী করে তা বুঝতে আরও সহজ করে তুলবে (এবং সরঞ্জামগুলির বনাম কোনটি দেশীয় তা জানতে)।
ম্যাগনাস এরিকসন

20
5.5 সাল থেকে এবং পাইপযোগ্য (একসময় লেটেবল হিসাবে পরিচিত) অপারেটরগুলির পরিচিতি হিসাবে doনামকরণ করা হয়েছে tap... সংক্ষেপে, এটি একটি গোলযোগ । github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md
লুকা

3
filterঠিক Array.filterতেমন কাজ করে - নিয়ম পূরণের জন্য কেবল মূল্যবোধ রাখে (এই ক্ষেত্রে 2 দ্বারা বিভাজ্য); map(আবার পছন্দ করুন Array.map) প্রতিটি মান পরিবর্তন করে (এই ক্ষেত্রে এটি নিজের সাথে যুক্ত করে); scanসর্বাধিক আকর্ষণীয় এবং এখানে একটি দুর্দান্ত ব্যাখ্যা: শেখারxjs.io/operators/transformation/scan.html
ড্যানিয়েল কুচাল

1
দেখে মনে হচ্ছে স্ক্যানটি হ্রাস
পেয়েছে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.