Denne gang får Javascript asynkrone funktioner med ECMAScript 2017

Asynkrone funktioner bliver forenklet med den kommende version af Javascript.

Det skulle gerne blive lidt enklere at skrive asynkrone funktioner i Javascript fremover. Den kommende standard, ECMAScript 2017 får nemlig det nye async-keyword, skriver InfoWorld.

ECMAScript 2017 er den standard, Javascript bygger på, og 2017-udgaven får altså en ny måde at understøtte asynkrone funktioner på.

En Javascript-funktion vil normalt blokere procestråden, indtil den er udført. Det er ikke altid optimalt, og det har blandt andet Node.js løst ved at gøre funktioner i stand til at afvente et svar fra en anden funktion ved hjælp af callbacks, som ikke blokerer programmet. Javascript har også fået callbacks, og de bliver nu lidt enklere at håndtere med den nye udgave.

Javascript har nemlig brugt Promises til at håndtere asynkrone callbacks, men det var ikke nødvendigvis den mest elegante løsning i forhold til de frameworks og overbygninger til Javascript, som også har haft deres understøttelse af asynkrone funktioner.

Det nye async-keyword kombineret med await-keywordet skulle gøre ECMAScript-implementeringen mere enkel.

Async og await er allerede understøttet af Chrome-browseren og vil blive det i næste udgave af Firefox. Selve standarden ECMAScript 2017 ventes dog først at være endelig godkendt i juni ifølge InfoWorld.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (4)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
David Konrad

For en ordens skyld var Edge den første browser til at understøtte async / await, og featuren blev forfremmet fra eksperimentiel til default slået til dec 2016 kom først med i med Chrome 55, 01.12.2016. async ser allerede ud til at have opnået udbredelse på niveau med de lidt ældre promises, dvs alle desktopbrowsere samt nogle få eller ingen mobile.

Men er browserunderstøttelse overhovedet interessant? Mulighed for et simpelt, ikke-mareridtsagtigt fallback findes ikke, så den praktiske anvendelse begrænser sig vel stadig til node.

  • 1
  • 0
Log ind eller Opret konto for at kommentere