sincronas promises promesas funciones funciona example como await async asincronas javascript ecmascript-6 async-await babeljs ecmascript-2017

javascript - promises - Funciones ES2017 Async/await: ¿funcionan solo con promesas?



promesas javascript (2)

Sí, await una promesa.

async function myFunction() { let result = await somethingThatReturnsAPromise(); console.log(result); // cool, we have a result }

http://pouchdb.com/2015/03/05/taming-the-async-beast-with-es7.html

Empecé a usar funciones async/await await ES7 en mis aplicaciones js (transpiled by Babel).

Corrígeme si está mal, pero ¿funcionan solo con Promises? En caso afirmativo, esto significa que tengo que ajustar las funciones de devolución de llamada regulares en Promesas (lo que estoy haciendo actualmente por cierto).


La actual (y probable) propuesta asincrónica / espera aguarda promesas y desagües en algo como Promise.coroutine de bluebird con la await jugar el papel de yield .

Esto tiene sentido, ya que las promesas representan un valor + tiempo y está esperando que ese valor esté disponible. Note await también espera construcciones similares a promesas en todos los demás idiomas que lo incluyen como C # o Python (3.5+).

Tenga en cuenta que la conversión de API de devolución de llamada a promesas es muy fácil, y algunas bibliotecas ofrecen herramientas para hacerlo en un solo comando. Consulte Cómo convertir una API de devolución de llamada existente en promesas para obtener más detalles.