Per esempio, perché la funzione qui sotto deve avere "asincrono" .. non sta usando l'attesa abbastanza specifica da consentire al compilatore di analizzare il codice senza ambiguità?Perché le funzioni javascript devono avere la parola chiave "async"? La parola chiave "Attendere" non è abbastanza?
# Why do we need async here
async function foo() {
var user = await getUser(user_id);
console.log(user);
}
È per ragioni di compatibilità con le versioni precedenti? (Non riesco a pensare a nessun codice che usi la tastiera Attendi in Javascript standard ..)?
È soprattutto per chiarezza per chiarire che questa funzione utilizza la nuova parola chiave async? Grazie
Posso solo immaginare che rende l'analisi più facile .... –
In questo esempio, non avrebbe molto senso. Stai eseguendo qualcosa in modo asincrono e poi gli dici di attendere i risultati di getUser. Potrebbe avere più senso nel contesto di una funzione più ampia. – Neil
Potresti trovare utile questo blog: https://www.twilio.com/blog/2015/10/asyncawait-the-hero-javascript-deserved.html Sono d'accordo che probabilmente è un problema di analisi. Dal blog: "Quando una funzione viene dichiarata come asincrona, è in grado di fornire l'esecuzione al codice chiamante mentre attende la risoluzione di una promessa." – scrappedcola