طریقه تعریف Operator در TypeScript
1396/02/26 - 22:41:55 // Angular JS // 0 نظر // 8159 بازدید
طریقه تعریف Operator در TypeScript
بسمه تعالی
طریقه تعریف Operator در TypeScript
یکی از مواردی که در پیاده سازی سیستمهای تحت پلتفرم Angular برنامه نویسان را تا حدود زیادی دچار خستگی و بی حوصلگی مینماید، تکرار یکسری خطوط کدها به صورت مداوم می باشد. مثلن به مثال زیر دقت کنید.
return this.http.get(‘http://api.com').map(res => res.json());
این قسمت .Map را برای تغییر به Json باید هر بار تکرار نمود و این از نظر من بی دلیل است؛ چرا که راههای بهتری هم هست. البته این یک بهانه است برای معرفی یکی از قابلیتهای Typescript وگرنه شاید نوشتن این تکه کد آنقدرها هم سخت و دردسر ساز نباشد.
خوب حالا میتوان یک Operator جدید ایجاد میکنیم و این بخش کد را درون آن قرار میدهیم. نام این Operator را toJSON
خواهیم گذاشت. به پیاده سازی این Operator دقت نمایید .
// local-operators.ts
function toJSON<T>(): Observable<T> {
return this.map(( response : Response ) => response.json());
}
Observable.prototype.toJSON = toJSON;
قاعدتا عبارت Thisبه معنی Observable جاری میباشد. خوب حالا این عبارت را به Operator های تایپ اسکریپت اضافه میکنیم.
declare module "rxjs/Observable" {
interface Observable<T> {
toJSON : typeof toJSON;
}
}
حال به شکل زیر از این Operator استفاده کنید.
حال دیگر با این روش آشنا شدید. میتوانید در موارد مختلف برای خود Operator تعریف و در سطح پروژه از آن استفاده کنید.
معرفی نویسنده : علی کلاهدوزان
سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .