ecmascript 6 - uncaught - (ES6) clase(ES2017) async/await getter
promise all async await (2)
Puedes hacerlo
class Foo {
get bar() {
return (async () => {
return await someAsyncOperation();
})();
}
}
que de nuevo es lo mismo que
class Foo {
get bar() {
return new Promise((resolve, reject) => {
someAsyncOperation().then(result => {
resolve(result);
});
})
}
}
¿Es o será posible que un getter de clase ES6 devuelva un valor desde una función de espera / asíncrona de ES2017?
class Foo {
async get bar() {
var result = await someAsyncOperation();
return result;
}
}
function someAsyncOperation() {
return new Promise(function(resolve) {
setTimeout(function() {
resolve(''baz'');
}, 1000);
});
}
var foo = new Foo();
foo.bar.should.equal(''baz'');
Solo puede await
promesas, y las funciones async
devolverán las promesas mismas.
Por supuesto, un captador también puede hacer esa promesa, no hay diferencia con respecto a un valor normal.