Programming TypeScript


Download 1.81 Mb.
bet155/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   151   152   153   154   155   156   157   158   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

ruxsat bering buyruq beruvchi = yangi SafeEmitter < Buyruqlar > () ruxsat bering voqea beruvchi = yangi SafeEmitter < Voqealar > () ruxsat ishchi = yangi Ishchi ( 'WorkerScript.js' )
// Ishchimizdan kelayotgan voqealarni tinglang,
// va ularni bizning xavfsiz hodisa emitentimiz yordamida qayta chiqaring
ishchi . xabar = voqea => voqea emitter . chiqarish ( hodisa . maʼlumotlar . turi , ... hodisa . maʼlumotlar . maʼlumotlar
)
// Ushbu mavzu bo'yicha buyruqlar bilan bog'liq muammolarni tinglang va ularni ishchimizga yuboring
buyruq beruvchi . on ( 'sendMessageToThread' , ma'lumotlar => ishchi . postMessage ({ turi : 'sendMessageToThread' , ma'lumotlar })
)
buyruq beruvchi . on ( 'createThread' , ma'lumotlar => ishchi . postMessage ({ turi : 'createThread' , ma'lumotlar }) ) // va hokazo.
// Ishchi bizga yangi mavzu yaratilganligini aytganida biror narsa qiling eventEmitter . on ( 'createdThread' , ( threadID , ishtirokchilar ) => konsol . log ( 'Yangi suhbat mavzusi yaratildi!' , threadID , ishtirokchilar ) )
// Bizning ishchimizga buyruq yuboring
buyruq beruvchi . emit ( 'createThread' , [ 123 , 456 ])
Bo'ldi shu! Biz tanish hodisa emitentining abstraktsiyasi uchun oddiy turdagi xavfsiz o‘ramni yaratdik, undan turli xil sozlamalarda foydalanishimiz mumkin, brauzerdagi kursor hodisalaridan tortib to mavzular bo‘ylab muloqotga qadar, mavzular orasidagi xabarlarni xavfsiz o‘tkazish. Bu TypeScript-da keng tarqalgan namunadir: agar biror narsa xavfli bo'lsa ham, uni odatda typesafe API-ga o'rashingiz mumkin.
Xavfsiz turdagi protokollar

Hozirgacha biz xabarlarni ikkita mavzu o'rtasida oldinga va orqaga uzatishni ko'rib chiqdik. Muayyan buyruq har doim ma'lum bir voqeani javob sifatida qabul qiladi, deb aytish uchun texnikani kengaytirish uchun nima kerak bo'ladi?
Keling, qo'ng'iroqlarga javob berishning oddiy protokolini tuzamiz, undan funktsiyani baholashni mavzular bo'ylab ko'chirish uchun foydalanishimiz mumkin. Biz vazifalarni iplar o'rtasida osonlikcha o'tkaza olmaymiz, lekin biz ishchi ish zarrachasidagi funktsiyalarni belgilashimiz va ularga argumentlarni yuborishimiz, keyin natijalarni qaytarib yuborishimiz mumkin. Misol uchun, biz uchta amalni qo'llab-quvvatlaydigan matritsali matematik dvigatelni yaratamiz, deylik: matritsaning determinantini topish, ikkita matritsaning nuqta mahsulotini hisoblash va matritsani invertatsiya qilish.
Siz matkapni bilasiz - keling, ushbu uchta operatsiya turlarini chizishdan boshlaylik:

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   151   152   153   154   155   156   157   158   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling