Öncelikle bu özellik ES7 kapsamında olup, promise’e nazaran tarayıcı desteği daha azdır. Eğer NodeJS 8 üstü kullanıyorsanız, ya da transpiler’a (bkz: babel) güvenerek bu özelliği denerim diyorsanız, anlatacaklarıma kulak verin.

Async/await bize neler katacak? Maddelerimiz şöyle:

Kod daha okunaklı hale gelecek
Asenkron işlemlerin gerçekleşme sırasını takip etmek kolaylaşacak
Promise zincirleri için birçok .then() yazmak gerekmeyecek
Diğer programlama dillerinden aşina olunan try-catch yapısı kullanılabilecek

Yukarıdaki iki farklı kod da aynı işlemleri gerçekletirmektedir. İki yöntem de promise dönen asenkron işlemleri çağırır. awaitpromise dönen fonksiyonların öncesinde kullanılarak değerin gelmesini bekletir. Ancak await sadece async ile tanımlanmış bir fonksiyon içerisinde kullanılabilir. async ile tanımlanmış asenkron bir fonksiyonun dönüş değeri de promise nesnesi olur.