¿Solicitud GET síncrona con YUI 2.7?
-
03-07-2019 - |
Pregunta
Soy relativamente nuevo en YUI: al explorar sus excelentes documentos, no encuentro un método o una marca para cargar un recurso externo sincrónicamente .
o la pregunta al revés; para cada nodo coincidente necesito llamar a un método, que inserta algo en el nodo; con llamadas asíncronas, los recordados identificadores parecen confundirse.
por lo tanto, la devolución de llamada debe mantenerse en el
pid
cuando se llama a la función, no cuando se ejecuta la devolución de llamada, ¿estoy haciendo esto correctamente?
var platform_ids = YAHOO.util.Selector.query('.platform_id');
for (var i = 0; i < platform_ids.length; i++) {
var pid = platform_ids[i].getAttribute("id");
var sUrl = "/platform/" + pid + "/description/";
var callback = { success: function(o) {
document.getElementById(pid).innerHTML = o.responseText; }}
var transaction = YAHOO.util.Connect.asyncRequest(
'GET', sUrl, callback, null
);
}
gracias. MYYN
Solución
No desea una solicitud síncrona. La experiencia del usuario puede ser horrible. Realmente solo desea pasar un valor a su devolución de llamada para que no se base en pid
(que, como ha notado, generalmente tendrá un valor diferente cuando se llama su devolución de llamada):
var callback = { success: function(o)
{
document.getElementById(o.argument).innerHTML = o.responseText;
},
argument: pid
};
Aquí, utilizo el miembro de devolución de llamada argumento
para mantener la ID, y hago referencia a eso en la función de devolución de llamada, asegurando que cada devolución de llamada use la ID correcta.