Skip to content

Instantly share code, notes, and snippets.

@Jviejo
Created December 17, 2015 09:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Jviejo/3a6fb42b52cb4a9d7913 to your computer and use it in GitHub Desktop.
Save Jviejo/3a6fb42b52cb4a9d7913 to your computer and use it in GitHub Desktop.
prueba de async await con typescript
"use strict";
//Ejemplo de un bucle basado en promises async
// representa el dato devuelto por la promesa, en este caso un contador
var i = 0;
// cada vez que se ejecuta esta funcion se añade 1
// esto podría ser un $http
function accesoAlServidor(milliseconds: number) {
return new Promise<number>((resolve,reject) => {
if (i % 5 == 0) reject({error:"error",i:i++});
setTimeout(()=> {return resolve(i++); }, milliseconds)}
);
}
// función que hace el bucle
// las funciones con await deben de tener el prefijo async
async function main()
{
while (i <= 10)
{
// si la promise falla, se ejecuta el catch
// tanto si falla como si va bien obtenemos el objeto del resolve o del reject
try {
var r = await accesoAlServidor(100);
if (r.resu == 1)
var r = await accesoAlServidor(100);
console.log(r);
} catch (error) {
console.log(error);
}
}
}
// main
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment