Estoy creando API fQuery en la parte superior de FB javascript SDK. Y hasta ahora todo funcionó bien, pero me quedé atrapado en las llamadas de FB.api ahora.Hacer llamadas FB.api() sincrónicas
En realidad, estoy tratando de cargar el objeto de usuario de Facebook, es decir "/ me" usando la función FB.api.
function somefunc() {
var r = fQuery.load(selector); //selector = "me"
return r;
}
fQuery.load = function(selector) {
fQuery.fn.response = "";
return FB.api("/" + selector, function (response) {
// we get response here.
});
}
Es posible devolver la respuesta o podemos realizar una llamada de sincronización. He intentado muchas formas de trabajar pero no he tenido éxito.
Por favor, brinde sugerencias.
"Argh," Al principio pensé. Odio respuestas como esta que no responden a la pregunta, sino que simplemente digo "hazlo bien" con poca orientación. pero estoy contento de haber seguido tu consejo, resolvió algunos otros problemas. si ayuda a alguien más, tuve que hacer que la función de llamada también fuera asincrónica, y dividir parte del código que se invocaría en una devolución de llamada después de que las operaciones hubieran finalizado. – changokun
No esperaba que esa respuesta fuera la aceptada. Sé que no es recomendable, pero aún así, quería hacerlo de esa manera con la primera llamada. Rediseñar mi código llevará una eternidad. Necesito hacer solo una llamada fb.api específica (que es una llamada muy rápida) sincrónica. Ya había perfilado la llamada y fue muy rápido. –
Hay casos en los que necesita api síncrona, digamos que estoy creando una regla de validación jquery, y necesito consultar el resultado de la API gráfica para saber si es válida o no. ¿Alguna sugerencia sobre cómo rediseñar el código para cumplir con este requisito? –