Er parallell ForEach asynkron?
Er parallell ForEach asynkron?

Video: Er parallell ForEach asynkron?

Video: Er parallell ForEach asynkron?
Video: Asynchronous Behavior in Loops: forEach() vs for...of - JavaScript 2024, Desember
Anonim

Hele ideen bak Parallell . For hver () er at du har et sett med tråder og hver tråd behandler en del av samlingen. Som du la merke til, fungerer ikke dette med asynkron - vent, hvor du ønsker å slippe tråden for varigheten av asynkron anrop. For hver (), som støtter asynkron Oppgaven er bra.

Angående dette, hvordan venter du på at parallell foreach skal fullføres?

Du trenger ikke gjøre noe spesielt, Parallell . For hver () vil vente til alle dens forgrenede oppgaver er fullstendig . Fra den kallende tråden kan du behandle den som en enkelt synkron uttalelse og for eksempel pakke den inn i en try/catch. Det trenger du ikke med Parallell.

På samme måte, er hver av dem asynkron? Det er ikke asynkron . Det blokkerer. De som først lærte et språk som Java, C eller Python før de prøver JS, vil bli forvirret når de prøver å legge inn en vilkårlig forsinkelse eller et API-kall i loop-kroppen.

Ved siden av dette, hvordan fortsetter du parallelt foregående?

Når du konverterte løkken til en kompatibel definisjon for Parallell . For hver logikk, du endte opp med å gjøre uttalelsen til en lambda. Vel, det er en handling som blir kalt av Parallell funksjon. Så bytt ut Fortsette med retur, og bryt med Stop()- eller Break()-setninger.

Er oppgaven WhenAll parallell?

Anvendelsen av NårAlle returnerer en singel oppgave som ikke er ferdig før hver oppgave i samlingen er fullført. De oppgaver ser ut til å løpe inn parallell , men ingen ekstra tråder opprettes. De oppgaver kan fullføre i hvilken som helst rekkefølge.

Anbefalt: