[Pas2js] JS Sync/Async Limitations
Michael Van Canneyt
michael at freepascal.org
Thu Feb 21 15:44:17 CET 2019
On Thu, 21 Feb 2019, warleyalex via Pas2js wrote:
> I don't know you, it would be really cool to have await keyword native in
> pas2js.
> the "async" keyword to allow us to program using asynchronous requests in a
> "synchronous" manner.
>
> in modern JS:
>
> async function r() {
> var r2 = await fetch('https://jsonplaceholder.typicode.com/posts/1');
> var j = await r2.json();
> console.log(j);
> };
> r();
While I agree it could be a nice to have, it just moves the problem of the
Original Poster...
Example of MDN:
function resolveAfter2Seconds() {
return new Promise(resolve => {
setTimeout(() => {
resolve('resolved');
}, 2000);
});
}
async function asyncCall() {
console.log('calling');
var result = await resolveAfter2Seconds();
console.log(result);
// expected output: 'resolved'
}
asyncCall();
console.log('called');
Results in
> "calling"
> "called"
> "resolved"
As you can see, the asynccall returns at once.
Michael.
More information about the Pas2js
mailing list