valid try promesas only funciona example como catch await async typescript typescript1.7

typescript - try - Async/Await, ejemplo simple(mecanografía)



promesas javascript (2)

La clave es usar una Promesa ES6 o algo que implemente las interfaces PromiseLike y PromiseConstructorLike que se encuentran en lib.d.ts ( github.com/Microsoft/TypeScript/issues/1664 ). Una promesa de jQuery no implementa estas interfaces por lo que no funcionará con eso.

Aquí hay un ejemplo simple usando una promesa de ES6:

function getStringFromWebServerAsync(url: string) { return new Promise<string>((resolve, reject) => { // note: could be written `$.get(url).done(resolve).fail(reject);`, // but I expanded it out for clarity $.get(url).done((data) => { resolve(data); }).fail((err) => { reject(err); }); }); } async function asyncExample() { try { let data = await getStringFromWebServerAsync("http://localhost/GetAString"); console.log(data); } catch (err) { console.log(err); } } asyncExample();

Tenga en cuenta que cualquier código que contenga una instrucción de await debe estar dentro de una función async , por lo que he incluido el código en uno.

Estoy bastante familiarizado con el async / await de c # y he estado usando mecanografiado durante un año o así, ¿alguien puede dar un ejemplo sencillo que explique cómo funciona en mecanografiado? Gracias de antemano, esperamos encontrar ayuda e implementar el mismo


ACTUALIZAR
sería muy útil si el ejemplo incluye una promesa angular / jquery, ya que dará una visión clara de la implementación práctica


Tenga en cuenta que debe apuntar ES6 en Typescript 1.7 para usar async / await. Con versiones inferiores, las salidas de Visual Studio.

TS1308 ''await'' expression is only allowed within an async function.

y

TS1311 Async functions are only available when targeting ECMAScript 6 and higher.

Para obtener más información, consulte, por ejemplo, http://blogs.msdn.com/b/typescript/archive/2015/11/03/what-about-async-await.aspx