Entiendo lo básico acerca de la asincronía: las cosas no se ejecutan secuencialmente. Y entiendo que hay algo muy poderoso sobre eso ... supuestamente. Pero por mi vida no puedo entender el código. Echemos un vistazo al código Async Node.JS que HE ESCRITO ... pero que realmente no entiendo.Comprender el código asíncrono en los términos de Layman
function newuser(response, postData) {
console.log("Request handler 'newuser' was called.");
var body = '<html>' +
'<head>' +
'<meta http-equiv="Content-Type" content="text/html; ' +
'charset=UTF-8" />' +
'</head>' +
'<body>' +
'<form action=" /thanks" method="post">' +
'<h1> First Name </h1>' +
'<textarea name="text" rows="1" cols="20"></textarea>' +
'<h1> Last Name </h1>' +
'<textarea name="text" rows="1" cols="20"></textarea>' +
'<h1> Email </h1>' +
'<textarea name="text" rows="1" cols="20"></textarea>' +
'<input type="submit" value="Submit text" />' +
'</body>' +
'</html>';
response.writeHead(200, { "Content-Type": "text/html" });
response.write(body);
response.end();
}
De dónde proceden de la respuesta de nuevo? ¿PostData? ¿Por qué no puedo definir una variable en esta "devolución de llamada" y luego usarla fuera de la devolución de llamada? ¿Hay alguna manera de que algunas cosas sean secuenciales y el resto del programa asincrónico?
Desde un punto técnico tienes razón, pero lo que te perdiste fue "por qué quieres hacer una devolución de llamada en primer lugar". Eso es lo que hace asincrónica tan importante. – jcolebrand
No voy a decir que no leeré esto una o dos veces más, pero esa es probablemente la mejor explicación que se puede dar sin estar aquí físicamente, je. – PinkElephantsOnParade
Creo que esta es una gran explicación para entender cómo funcionan las devoluciones de llamada, ¡gracias por ello! – wmock