Yovvoyi tabiatdagi emitentlar
Xavfsiz hodisa emitentlarini yaratish uchun xaritalangan turlardan foydalanish mashhur naqshdir. Masalan, DOM hodisalari TypeScript-ning standart kutubxonasiga qanday kiritiladi. WindowEventMap bu hodisa nomidan hodisa turiga xaritalash boʻlib, .addEventListener va .removeEventListener API’lari standart Voqealar turiga qaraganda yaxshiroq, aniqroq hodisa turlarini yaratish uchun moslashtiriladi:
// lib.dom.ts
interfeys WindowEventMap uzaytiradi GlobalEventHandlersEventMap {
// ... kontekst menyusi : PointerEvent dblclick : MouseEvent qurilma yorug'ligi : DeviceLightEvent qurilma harakati : DeviceMotionEvent qurilma orientatsiyasi : DeviceOrientationEvent
|
torting : DragEvent
// ...
}
interfeys Oyna uzaytiradi EventTarget , WindowTimers , WindowSessionStorage , WindowLocalStorage , WindowConsole , GlobalEventHandlers , IDBEnvironment ,
WindowBase64 , GlobalFetch {
// ... addEventListener < K uzaytiradi kaliti WindowEventMap > (
turi : K ,
tinglovchi : ( bu : Oyna , ev : WindowEventMap [ K ]) => har qanday ,
variantlar? : mantiqiy | AddEventListenerOptions
) : bekor
removeEventListener < K uzaytiradi kaliti WindowEventMap > (
turi : K ,
tinglovchi : ( bu : Oyna , ev : WindowEventMap [ K ]) => har qanday ,
variantlar? : mantiqiy | EventListenerOptions
) : bekor
}
Hozirgacha biz bitta protsessorda ishlashi mumkin bo'lgan asinxron dasturlar haqida gapirgan edik, bu dasturlar sinfiga kiradigan ko'pgina JavaScript va TypeScript dasturlari yoziladi. Ammo ba'zida, protsessor talab qiladigan vazifalarni bajarayotganda, siz haqiqiy parallelizmni tanlashingiz mumkin: ishni tezroq bajarish yoki asosiy ish zarrachasini bo'sh va sezgir saqlash uchun bir nechta ish zarralari bo'ylab ajratish qobiliyati. Ushbu bo'limda biz brauzer va serverda xavfsiz, parallel dasturlarni yozish uchun bir nechta naqshlarni ko'rib chiqamiz.
Do'stlaringiz bilan baham: |