به قسمت 6 از مجموعه آموزش های Angular برای مبتدیان خوش آمدید. ما عمیقاً در کد نمونه ای که در قسمت های قبلی این سری به آن اشاره شد، غواصی خواهیم کرد. بنابراین، توصیه می شود ابتدا قسمت های قبلی را مرور کنید. ما تا به حال به موضوعات زیر پرداخته ایم.
- قسمت 1: شروع کار با Angular
- بخش 2: ماژول ها، اجزا و دستورالعمل ها در Angular
- بخش 3: اتصال داده ها به صورت زاویه ای
- قسمت 4: رابط ها
- قسمت 5: خدمات در Angular
در این بخش نحوه برقراری تماس HTTP برای بازیابی داده ها به عنوان مشاهده پذیر بحث می شود.
ما داده های کارمند را در یک فایل JSON به صورت زیر کدگذاری می کنیم و از آن برای نسخه ی نمایشی خود استفاده می کنیم. با این حال، می توانید از هر سرویس خارجی مانند Web API نیز برای دریافت داده ها استفاده کنید.
بیایید فایلی به نام staffs.json در پوشه Assets مانند زیر ایجاد کنیم و آن را با داده های کارمند پر کنیم.
- [
- {
- "employeeId":1,
- "employeeName":"Tuba",
- "projectId":100
- },
- {
- "employeeId":2,
- "employeeName":"Atul",
- "projectId":101
- },
- {
- "employeeId":3,
- "employeeName":"Theran",
- "projectId":101
- }
- ]
![استفاده از HTTP با Observables در Angular](http://pezhvak24.ir/dl/10kcor/cscd/article/angular-for-beginners-part-six-using-http-with-observables-in-angular/Images/Using HTTP With Observables In Angular.jpg)
اکنون، بیایید یک درخواست HTTP GET برای دریافت داده های کارمند به صورت زیر انجام دهیم. ابتدا HttpClient را وارد می کنیم و سپس نمونه ای از HttpClient را در سازنده سرویس خود تزریق می کنیم. همانطور که در قسمت آخر بحث شد، برای انجام این کار، باید خدمات خود را به عنوان @Injectable علامت گذاری کنیم.
ما یک قابل مشاهده از IEmployees را برمی گردانیم. قابل مشاهده ها شبیه به وعده ها هستند اما بهتر هستند. چند تفاوت بین قابل مشاهده و وعده وجود دارد. به عنوان مثال - وعده ها را نمی توان لغو کرد، اما قابل مشاهده ها را می توان لغو کرد. و وعدهها یک مقدار واحد را برمیگردانند در حالی که مشاهدهپذیرها چندین مقدار را مدیریت میکنند.
مشاهدهپذیرها دادهها را با تنبلی برمیگردانند، بهعنوان مثال، اگر کسی در آن مشترک نباشد، نتیجهای را بر نمیگرداند. بنابراین، ما بعداً مشترک قابل مشاهده خواهیم شد. بنابراین به طور خلاصه، ما قابل مشاهدههایی داریم که تنها در صورت مشترک بودن در آن، دادهها را در طول زمان به ما برمیگردانند.