const xhr = new XMLHttpRequest(), method = "GET", url = "https://developer.mozilla.org/"; xhr.open(method, url, true); xhr.onreadystatechange = function () { // In local files, status is 0 upon success in Mozilla Firefox if(xhr.readyState === XMLHttpRequest.DONE) { var status = xhr.status; if (status === 0 || (status >= 200 && status < 400)) { // The request has been completed successfully console.log(xhr.responseText); } else { // Oh no! There has been an error with the request! } } }; xhr.send();
Este código representa una solicitud y respuesta XHR. Estaba viendo un tutorial sobre AJAX y xhr.onreadystatechange se describió como una propiedad de objeto. Sé que las expresiones de funciones son funciones anónimas asignadas a variables, pero ¿qué pasa con las funciones anónimas asignadas a las propiedades de los objetos? ¿Cuál es el nombre de este tipo de función que se llama cuando se actualiza una propiedad de objeto? Esto realmente no se ha enseñado en javascript básico o ES6 por lo que puedo ver.
La función que está asignando a xhr.onreadystatechange se denomina controlador de eventos . Esta función de controlador de eventos se ejecuta cuando se activa el evento real 'readystatechange' en su caso.
Ese es un controlador de eventos que difiere un poco de una devolución de llamada.