Programming TypeScript
Download 1.81 Mb.
|
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 protokollarHozirgacha 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling