primer código
console.log('Start'); // output 1 await axios({ method: 'post', url: '<HTTP_URL>' data: <SOME_DATA>, }).then ((response) => { // Do something... It could take a few seconds. console.log(response); // output 2 }); console.log('End'); // output 3
Segundo código
console.log('Start'); // output 1 await axios({ method: 'post', url: '<HTTP_URL>' data: <SOME_DATA>, }).then (async (response) => { // Do something... It could take a few seconds. console.log(response); // output 2 }); console.log('End'); // output 3
¿Puede la diferencia en la operación asincrónica ser causada por la palabra clave 'async' del método de devolución de llamada?
En mi prueba, ambos códigos fuente mostraron el mismo resultado.
En el segundo código fuente, pensé que 'esperar' garantizaría solo la llamada de la devolución de llamada asíncrona. Sin embargo, en realidad garantizó la finalización de la devolución de llamada asíncrona.
¿Por qué si hacen lo mismo?
La diferencia sería si necesita esperar una determinada función dentro del bloque then
.
console.log('Start'); // output 1 await axios({ method: 'post', url: '<HTTP_URL>' data: <SOME_DATA>, }).then (async (response) => { // Do something... It could take a few seconds. await slowResponseFunction(); console.log(response); // output 2 }); console.log('End'); // output 3