Hacker News

API ṣiṣan ti o dara julọ ṣee ṣe fun JavaScript

Comments

19 min read Via blog.cloudflare.com

Mewayz Team

Editorial Team

Hacker News

JavaScript's Streams API Ni Iṣoro kan — Ati Awọn Difelopa Ti Nsoro Nikẹhin Nipa Rẹ

Ti o ba ti gbiyanju lati lo Awọn ṣiṣan APIni JavaScript fun ohunkohun ti o kọja apẹẹrẹ iwe-ẹkọ, o ti ni imọlara ija naa. Ohun ti o yẹ ki o jẹ yangan, abstraction composable fun mimu data lẹsẹsẹ - kika awọn faili, ṣiṣe awọn idahun HTTP, iyipada datasets ni akoko gidi - nigbagbogbo n yipada sinu igbomikana verbose, iruju awọn atunmọ ifasilẹ, ati oju API ti o kan lara diẹ sii bi Java ile-iṣẹ ju JavaScript ode oni. Ibaraẹnisọrọ ti o wa ni ayika kikọ iṣagbesori ṣiṣan ti o dara julọ ti n rọ ni awọn igbero TC39, awọn ijiroro ilana, ati awọn iṣẹ akanṣe orisun-ìmọ fun awọn ọdun. Ni ọdun 2026, o n de aaye tipping kan. Ibeere naa kii ṣe boya API ṣiṣan ti o dara julọ ṣee ṣe - o jẹ kini “dara julọ” dabi gangan, ati kini o ti n da wa duro.

Nibo ti Awọn ṣiṣan lọwọlọwọ API ṣubu Kuru

Awọn WHATWG Streams Standard, eyiti o ṣe agbaraReadableStream,WritableStream, atiTransformStreamlaja awọn aṣawakiri ati awọn akoko asiko bii Node.js ati Deno, jẹ aṣeyọri imọ-ẹrọ gidi kan. O mu ipadasẹhin pada, ifagile, ati async aṣetunṣe si mimu data abinibi-ayelujara. Ṣugbọn ni iṣe, API beere pupọ ti olupilẹṣẹ fun awọn iṣẹ ṣiṣe ti o wọpọ. Ṣiṣẹda ṣiṣan iyipada ti o rọrun nilo ṣiṣatunṣe Yipada ṣiṣan pẹlu ọna iyipada, iṣakoso awọn oludari, ati mimu iṣọra mu awọn itumọ-itumọ ṣiṣan - gbogbo fun kini iye si map()ju awọn chunks.

Ṣe afiwe eyi si bii awọn oludasilẹ ṣe n ṣiṣẹ pẹlu awọn akojọpọ. Array.prototype.map(), filter(), ati din() jẹ́ àkópọ̀, ṣeé kà, wọ́n sì nílò ayẹyẹ òdo. API ṣiṣanwọle ko funni ni agbara ergonomic yii jade kuro ninu apoti. Awọn ṣiṣan paipu papọ nipasẹ .pipeThrough() n ṣiṣẹ, ṣugbọn kikọ awọn ipele iyipada funrararẹ ni ibiti awọn olupilẹṣẹ padanu awọn wakati ati sũru. Mimu asise kọja awọn ẹwọn pipe jẹ aaye irora miiran - awọn aṣiṣe ko ni tan kaakiri, ati ṣiṣatunṣe opo gigun ti o bajẹ nigbagbogbo tumọ si fifi gedu gedu igba diẹ sii lati kan mọ ibiti data ti n silẹ tabi ti bajẹ.

Erin Node.js tun wa ninu yara naa. Node ni imuse ṣiṣan ti ara rẹ (stream.Readable, stream.Writable), eyiti o ṣaju idiwọn WHATWG nipasẹ ọdun mẹwa. Awọn ọna ṣiṣe mejeeji jẹ ibaraenisepo nipasẹ awọn ohun elo ohun ti nmu badọgba, ati ọpọlọpọ awọn idii npm tun lo API agbalagba. Awọn olupilẹṣẹ ti n ṣiṣẹ kọja awọn agbegbe — ṣiṣe ipa-ẹgbẹ olupin, awọn iṣẹ eti, sisẹ orisun ẹrọ aṣawakiri - ti fi agbara mu lati juggle awọn abstractions meji ti ko ni ibamu fun imọran kanna.

Kini Awọn ṣiṣan ti o dara julọ API Le dabi

Orisirisi awọn igbero ati awọn adanwo agbegbe n tọka si ọjọ iwaju ore-olugbegbega diẹ sii. Awọn ero pataki n tẹsiwaju lati ṣajọpọ lori awọn ilana diẹ:akopọ iṣẹ ṣiṣe,async iterator alignment, ati dinku igbomikana. Fojuinu pe o ni anfani lati kọ awọn opo gigun ti data ṣiṣanwọle bi nipa ti ara bi o ṣe kọ awọn iyipada titobi — chaining .map(), .filter() , ati .mu () taara lori ṣiṣan ti o le ka laisi nilo lati ṣe agbedemeji awọn ohun elo TransformStream.

Eyi kii ṣe arosọ. Ilana Iterator Awọn oluranlọwọ (bayi ni Ipele 4 ni TC39) ti mu .map(), .filter(), .mu () , .drop () , ati .flatMap() lati muṣiṣẹpọ. Fifẹ ilana yii si awọn olutọpa amuṣiṣẹpọ - ati nipasẹ itẹsiwaju, si awọn ṣiṣan kika ti o ṣafihan [Symbol.asyncIterator] - jẹ igbesẹ ti o tẹle ti ẹda. Diẹ ninu awọn akoko ṣiṣe ati awọn ile-ikawe ti bẹrẹ idanwo pẹlu ọna yii, jẹ ki awọn olupilẹṣẹ kọ koodu bii:

Asọtẹlẹ ṣiṣanwọle ti o lagbara julọ jẹ ọkan ti o sọnu. Nigbati awọn olupilẹṣẹ le ṣe afihan awọn iyipada data bi pq ti awọn iṣẹ ti o rọrun - laisi aibalẹ nipa awọn olutona, awọn ilana ila, tabi afọwọṣe afọwọṣe - wọn kọ yiyara, gbe awọn idun diẹ, ati nitootọ gbadun ṣiṣẹ pẹlu data ṣiṣanwọle.

Ibi-afẹde kii ṣe lati rọpo API ṣiṣan ipele kekere patapata. Awọn ọran lilo nigbagbogbo yoo wa - awọn ilana aṣa, iṣakoso iranti ti o dara, awọn imuṣẹ kodẹki alakomeji - nibiti iraye si oludari taara jẹ pataki. Ṣugbọn fun90% awọn ọran liloti o kan kika, iyipada, ati kikọ data lẹsẹsẹ, Layer abstraction yẹ ki o baamu irọrun ti iṣẹ-ṣiṣe naa.

Awọn ẹkọ Lati Awọn ọna ilolupo miiran

JavaScript kii ṣe ede akọkọ lati jijakadi pẹlu ergonomics ṣiṣanwọle. Rust'sIteratoratiSanawọn abuda nfunni ni idapọ kan, abstraction iye owo odo ti o jẹ ki awọn iṣẹ ṣiṣe pq awọn olupilẹṣẹ laisi pinpin awọn akojọpọ agbedemeji. Elixir'sStreamModule n pese iṣiro ọlẹ pẹlu mimọ, sintasi ore-piipu. Paapaa Java, nigbagbogbo ṣofintoto fun ọrọ-ọrọ, ṣe agbekalẹ java.util.stream.Stream ni Java 8 pẹlu API ti o mọye ti awọn olupilẹṣẹ JavaScript yoo mọ ati ilara.

Ohun ti awọn ilolupo eda abemi wọnyi pin jẹ ifaramo sifidi ọran ti o wọpọ jẹ bintin. Kika faili kan, awọn laini sisẹ, ati awọn abajade kikọ gba awọn laini 3-5 ti koodu composable. Ninu API Awọn ṣiṣan lọwọlọwọ JavaScript, iṣẹ ṣiṣe kanna le ni irọrun faagun si awọn laini 20-30 nigbati o ṣe akọọlẹ fun ikole ṣiṣan, mimu aṣiṣe, ati jijẹ dara. Aafo naa kii ṣe nipa agbara - o jẹ nipa ergonomics.

Ọna ti Python tun jẹ ẹkọ. Awọn iṣẹ monomono pẹlu ikore pese ọna adayeba lati ṣe agbejade ati jijẹ data lẹsẹsẹ ni ọlẹ. JavaScript tun ni awọn iṣẹ olupilẹṣẹ paapaa, ṣugbọn sisopọ wọn si Awọn ṣiṣan API nilo fifisilẹ wọn ni ReadableStreamawọn oluṣeto pẹlu awọn olutona orisun-fa. Isopọpọ ti o nipọn laarin awọn olupilẹṣẹ ati awọn ṣiṣan - nibiti iṣẹ monomono kan le di ṣiṣan ti o ṣee ka taara - yoo mu gbogbo ẹka ti igbomikana kuro.

Ipa gidi-Agbaye lori Idagbasoke Ohun elo

Eyi kii ṣe ibakcdun ẹkọ. Awọn data ṣiṣanwọle wa ni okan ti awọn ohun elo wẹẹbu ode oni. Awọn iṣẹlẹ ti a fi ranṣẹ si olupin, awọn idahun HTTP chunked, awọn dashboards atupale akoko gidi, sisẹ ikojọpọ faili, ṣiṣanjade awoṣe AI - iwọnyi jẹ awọn ẹya lojoojumọ, kii ṣe awọn ọran eti. Nigbati iṣaṣan ṣiṣanwọle jẹ lile lati lo, awọn olupilẹṣẹ yala yago fun patapata (fifi ohun gbogbo sinu iranti, eyiti ko ṣe iwọn) tabi kọ ẹlẹgẹ, awọn opo gigun ti lile lati ṣetọju ti o di orisun ti awọn iṣẹlẹ iṣelọpọ.

Ronu ohun ti o ṣẹlẹ ni iwọn. Syeed kan biMewayz, eyiti o ṣe ilana data kọja awọn modulu iṣowo iṣọpọ 207 - lati awọn opo gigun ti CRM ati risiti si awọn iṣiro isanwo isanwo ati ipasẹ ọkọ oju-omi kekere - n mu awọn iwọn nla ti data lẹsẹsẹ ni inu. Awọn iṣẹ okeere, iran ijabọ, sisẹ iṣẹlẹ webhook, ati awọn imudojuiwọn dasibodu akoko gidi gbogbo ni anfani lati ṣiṣanwọle daradara. Nigbati awọn ipilẹ ede ti o wa ni ipilẹ jẹ ki ṣiṣanwọle nira, iye owo n pọ si kọja gbogbo module ati gbogbo sisan data. Awọn onimọ-ẹrọ Platform pari lati kọ awọn abawọle ṣiṣanwọle inu lori oke awọn arosọ ede, fifi idiju ti ko yẹ ki o ṣe pataki.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
  • Ṣiṣe faili: Ikojọpọ ati sisọ awọn faili CSV pẹlu awọn ori ila 100K+ nilo ṣiṣanwọle lati yago fun ailagbara iranti - ṣugbọn API ti o wa lọwọlọwọ jẹ ki paapaa ipilẹ-ila-nipasẹ-ila transformation verbose
  • Awọn dasibodu akoko gidi: Awọn data atupale ṣiṣanwọle lati ọdọ olupin si alabara nipasẹ SSE tabi awọn anfani WebSocket lati awọn iyipada ti o ṣeeṣe (ajọpọ, sisẹ, throttling) ti o ni irora lati ṣafihan loni
  • Iṣanwọle esi idahun AI:Bi awọn ẹya agbara LLM ṣe di idiwọn ni awọn irinṣẹ iṣowo, awọn idahun ami-ami-ami-sisọ si UI jẹ ireti ipilẹ ipilẹ - ati ọran lilo pipe fun ṣiṣan ṣiṣan ti n yipada
  • Awọn iṣẹ ṣiṣe ipele: Ṣiṣẹda owo-oṣu fun ẹgbẹẹgbẹrun awọn oṣiṣẹ, ti n ṣe ipilẹṣẹ awọn risiti pupọ, tabi mimuuṣiṣẹpọ awọn igbasilẹ CRM pẹlu awọn eto ita gbogbo jẹ pẹlu data ṣiṣanwọle nipasẹ afọwọsi, iyipada, ati awọn ipele iṣelọpọ
  • Webhook pipelines: Gbigbawọle, afọwọsi, ipa-ọna, ati ṣiṣe awọn iṣẹlẹ webhook ti nwọle lati awọn iṣọpọ ẹni-kẹta jẹ eyiti o jẹ ẹru iṣẹ ṣiṣanwọle

Kini Gangan Ti A Dabaa

Eto ilolupo JavaScript n lọ ni iwaju pupọ. Awọn imọran TC39Iterator Awọn oluranlọwọti ti de tẹlẹ, ti o mu akopọ iṣẹ-ṣiṣe wa si awọn olutọpa amuṣiṣẹpọ. Ifaagun adayeba - Async Awọn oluranlọwọ iteterator — yoo mu kanna .map() , .filter () , .dinku () , .mu () , ati .flatMap () awọn ọna lati mu awọn iterators ṣiṣẹpọ, eyiti o ṣee ṣe nipasẹ ṣiṣanwọle tẹlẹ. [Symbol.asyncIterator] . Eyi nikan yoo mu iriri idagbasoke idagbasoke pọ si fun awọn ilana ṣiṣanwọle ti o wọpọ julọ.

Ni ikọja TC39, awọn imotuntun ipele akoko-ṣiṣe tun n titari aala naa. Deno ti ṣe idanwo pẹlu awọn ohun elo ṣiṣan ergonomic diẹ sii. AwọnApoti irinṣẹ Awọn ṣiṣan oju opo wẹẹbuati awọn ile-ikawe agbegbe ti o jọra pese awọn iṣẹ oluranlọwọ ti o fi ipari si awọn apakan ọrọ-ọrọ ti API. Ati pe ipa ti ndagba wa lẹhin imọran ti awọn ile-ikawe boṣewa abinibi ṣiṣan — eto ti a ṣe sinu, awọn ohun elo iṣapeye fun awọn iṣẹ ṣiṣanwọle ti o wọpọ bii pipin laini, sisọ JSON, ṣiṣe CSV, ati funmorawon ti awọn olupilẹṣẹ fa lọwọlọwọ lati npm.

Ijiyan ọran tun wa funawọn atunmọ aṣiṣe to dara julọ. Ni API ti ode oni, aṣiṣe kan ninu pq paipu le fi awọn ṣiṣan silẹ ni awọn ipinlẹ aibikita - ti jẹ apakan kan, pẹlu awọn titiipa didan lori awọn oluka. API ti a tunwo le gba isọdọtun aṣiṣe ti eleto ti iru si iru Rust's Abajade tabi gba apejọ kan nibiti awọn aṣiṣe nṣan nipasẹ opo gigun ti epo bi awọn iye, gbigba awọn ipele isalẹ lati mu tabi gba pada lọwọ wọn laisi fifọ gbogbo pq. Eyi yoo jẹ iyipada fun igbẹkẹle iṣelọpọ.

Kini idi Eyi Ṣe pataki Ju lailai ni 2026

Awọn aṣa iṣipopada mẹta jẹ ki ergonomics API ṣiṣanwọle diẹ sii ni iyara ni bayi ju ni aaye eyikeyi ninu itan-akọọlẹ JavaScript. Ni akọkọ,iṣiro eti- Awọn oṣiṣẹ Cloudflare, Awọn iṣẹ Vercel Edge, Deno Deploy - n ṣiṣẹ labẹ iranti ti o muna ati awọn ihamọ Sipiyu nibiti fifisilẹ gbogbo awọn idahun tabi awọn iwe data ko ṣee ṣe. Ṣiṣanwọle jẹ aṣayan nikan, ati awọn olupilẹṣẹ ti n ran lọ si awọn agbegbe wọnyi nilo API ti ko ba wọn ja.

Ikeji, Idapọ AIti jẹ ki ṣiṣanwọle jẹ ẹya ti nkọju si olumulo. Nigbati oluranlọwọ AI ṣe ipilẹṣẹ esi, awọn olumulo nireti lati rii awọn ami ami han ni akoko gidi, ko duro fun gbogbo idahun si ifipamọ. Gbogbo Syeed SaaS - lati awọn ọna ṣiṣe iṣowo bii Mewayz si awọn irinṣẹ AI ti o duro - ni bayi nilo agbara ṣiṣan-ẹgbẹ alabara to lagbara. API ti o wa lọwọlọwọ n ṣiṣẹ fun eyi, ṣugbọn iriri olupilẹṣẹ ti sisọtọ, yiyi pada, ati ṣiṣatunṣe iṣelọpọ AI ṣiṣan le dara dara ni pataki pẹlu awọn oniṣẹ ṣiṣan composable.

Ẹkẹta, iṣipopada kikun-akopọ JavaScript tumọ si pe awọn olupilẹṣẹ n ṣakoso awọn ṣiṣan ni ẹgbẹ mejeeji ti aala nẹtiwọọki. Ẹlẹrọ ẹyọkan le kọ ṣiṣan-ẹgbẹ olupin kan ti o ṣe ilana awọn abajade ibeere data data, pai wọn nipasẹ iyipada kan, firanṣẹ wọn bi esi HTTP ti a ge, ati lẹhinna jẹ ṣiṣan kanna lori alabara lati ṣe UI ilọsiwaju kan. Nigbati API ṣiṣanwọle ba jẹ airọrun, ariyanjiyan yẹn ni rilara ni gbogbo ipele ti akopọ.

Ilọ siwaju: Kini Awọn Difelopa Le Ṣe Loni

Lakoko ti ede n dagba, awọn olupilẹṣẹ ko duro duro. Ọpọlọpọ awọn ilana ti o wulo le mu iriri sisanwọle ṣiṣẹ ni awọn iṣẹ akanṣe lọwọlọwọ. Lilo awọn olupilẹṣẹ asyncgẹgẹbi ilana akọwe akọkọ - ati murasilẹ wọn ni ReadableStream.from () ibiti akoko ṣiṣe n ṣe atilẹyin rẹ - pese imudara mimọ pupọ ju iṣakoso iṣakoso afọwọṣe. Awọn ile-ikawe biiit-pipeatisisanwọle-iterablesnfunni awọn oluranlọwọ idapọ ti o mu jiini iṣẹ ṣiṣẹ si awọn aṣepọ async loni.

Fun awọn ẹgbẹ ti n kọ awọn ohun elo aladanla data, ṣiṣe idoko-owo ni iyẹfun ṣiṣanwọle inu tinrin san awọn ipin. Apẹrẹ daradara streamMap () , streamFilter () , ati streamBatch() ṣeto awọn iṣẹ - ọkọọkan mu async iterable ati mimu-pada sipo async iterable - pese idapọ ti API boṣewa ko ni, laisi iwuwo ti ilana ṣiṣanwọle ni kikun. Eyi ni apẹrẹ ti o ṣe iwọn lati awọn apẹrẹ ibẹrẹ si awọn iru ẹrọ ti n ṣakoso awọn miliọnu awọn iṣẹ ṣiṣe.

  1. Gba awọn olupilẹṣẹ asyncgẹgẹbi apẹẹrẹ aiyipada rẹ fun iṣelọpọ data ṣiṣanwọle - wọn jẹ mimọ, idanwo diẹ sii, ati idapọ diẹ sii ju afọwọṣe ReadableStream ikole
  2. Lo ReadableStream.from() lati di async iterables sinu agbaye ṣiṣan oju opo wẹẹbu nigbati o nilo interop pẹlu awọn API ti o nireti awọn apẹẹrẹ ReadableStream
  3. Kọ tabi gba awọn iṣẹ IwUlO tinrinfun awọn iṣẹ ṣiṣe ti o wọpọ ( maapu, àlẹmọ, batch, throttle) lori awọn iterables async dipo kiko awọn nkan TransformStream
  4. Agbẹjọro ni TC39 ati awọn ijiroro asiko-ṣiṣe — igbero awọn oluranlọwọ iteterator async nilo awọn ohun olupilẹṣẹ titari fun iṣaju akọkọ
  5. Kọ awọn idanwo lodi si async iterables, kii ṣe ṣiṣan taara - eyi jẹ ki ọgbọn ṣiṣanwọle rẹ gbe ati rọrun lati fọwọsi

API Awọn ṣiṣan JavaScript jẹ ipilẹ pataki kan. Ṣugbọn awọn ipilẹ ti wa ni itumọ lati kọ sori, ati pe ipele atẹle ti abstraction - ọkan ti o jẹ ki ṣiṣanwọle bi adayeba bi ṣiṣẹ pẹlu awọn akojọpọ - ti pẹ. Awọn ege naa wa ni aye: async iterators, awọn iṣẹ olupilẹṣẹ, ati apẹẹrẹ awọn oluranlọwọ iterator. Ohun ti o nilo ni bayi ni ifẹ apapọ lati ṣajọ wọn sinu apewọn kan ti o baamu bii awọn olupilẹṣẹ ṣe ronu gangan nipa data lẹsẹsẹ. Abajade kii yoo kan jẹ API ti o dara julọ - yoo ṣii ṣiṣanwọle bi apẹẹrẹ aiyipada dipo ibi-afẹde ti o kẹhin, ṣiṣe awọn ohun elo yiyara, daradara-iranti, ati diẹ sii dídùn lati kọ.

Awọn ibeere Nigbagbogbo

Kini aṣiṣe pẹlu API Awọn ṣiṣan JavaScript lọwọlọwọ?

API Awọn ṣiṣan lọwọlọwọ n jiya lati inu igbomikana ti o pọ ju, awọn itumọ-ọrọ ẹhin titẹ ti o ruju, ati oju API ti o ni idiju pupọju ti o ṣe irẹwẹsi gbigba. Awọn iṣẹ ṣiṣe ti o rọrun bii kika faili kan tabi sisẹ esi HTTP nilo koodu pupọ ju iwulo lọ. Awọn olupilẹṣẹ nigbagbogbo lo si awọn ile-ikawe ẹni-kẹta tabi awọn ilana agbalagba bii awọn ipe ẹhin ati awọn olujade iṣẹlẹ, titọpa boṣewa patapata nitori awọn ergonomics lero isunmọ si Java iṣowo ju JavaScript ode oni.

Bawo ni API ṣiṣan ti o dara julọ yoo ṣe ilọsiwaju idagbasoke wẹẹbu?

API Awọn ṣiṣan ti a tunṣe pẹlu sintasi mimọ, atilẹyin async ti a ṣe sinu rẹ, ati awọn ọna akopọ inu inu yoo jẹ ki iṣẹ ṣiṣe data akoko-gidi rọrun. Awọn olupilẹṣẹ le ṣe asopọ awọn iyipada nipa ti ara, mu titẹ ẹhin ni gbangba, ati kọ awọn opo gigun ti ṣiṣan ni ida kan ti koodu naa. Eyi yoo jẹ ki ṣiṣe ilọsiwaju, awọn kikọ sii data laaye, ati ṣiṣatunṣe faili nla ni iraye si gbogbo idagbasoke JavaScript, kii ṣe awọn ti o fẹ lati jijakadi pẹlu awọn alakoko ipele kekere.

Njẹ awọn iru ẹrọ iṣowo ode oni le mu ṣiṣanwọle data ni akoko gidi ni imunadoko?

Bẹẹni — awọn iru ẹrọ bii Mewayz, OS iṣowo-module 207 kan ti o bẹrẹ ni $19/mo, tẹlẹ lo awọn opo data pipe ti o munadoko lẹhin awọn oju iṣẹlẹ fun awọn atupale, ṣiṣan iṣẹ adaṣe, ati ijabọ laaye. Bi awọn iṣedede ṣiṣanwọle ṣe ilọsiwaju ni JavaScript, awọn irinṣẹ ti a ṣe lori akopọ wẹẹbu yoo ṣe jiṣẹ paapaa awọn iriri akoko gidi yiyara, lati awọn imudojuiwọn dasibodu lojukanna si ṣiṣiṣẹ faili alailẹgbẹ kọja awọn modulu iṣowo iṣọpọ.

Awọn ọna yiyan wo ni o wa lakoko ti API ṣiṣan wa?

Awọn olupilẹṣẹ lọwọlọwọ gbarale awọn ile-ikawe bii awọn ṣiṣan Node.js, RxJS fun siseto ifaseyin, tabi awọn olupilẹṣẹ async so pọ pẹlu idaduro-ti awọn loops lati mu data lẹsẹsẹ diẹ sii ni ergonomically. Ibaramu polyfills ati awọn oluranlọwọ ipele igbero tun di awọn ela ni API boṣewa. Bọtini naa ni yiyan awọn abstractions ti o ni ibamu pẹlu ọran lilo rẹ - boya iyẹn tumọ si awọn ilana akiyesi fun awọn ohun elo ti o wuwo tabi isọdọtun async ti o rọrun fun awọn iṣẹ ṣiṣe iyipada data taara.