Non ho alcun problema con il login o anche chiamando l'API, ho solo un problema con ottenere la risposta al di fuori del callback API. So che funziona in modo asincrono quindi vorrei metterlo in una funzione che restituirebbe la risposta. Qui è la mia ideaCome utilizzare una risposta FB.api (JS SDK) al di fuori della funzione di callback?
//What I would like to be able to do
function fbUser(){
FB.api('/me', function(response){
//this logs the correct object
console.log(response);
});
//How do I get the response out here?
return response;
}
vorrei chiamare la me funzione/api una volta all'inizio e poi passarlo intorno ai miei oggetti vista (mi basta usare la risposta all'interno di Backbone Viste) ea seconda di ciò che è necessario effettuare altre chiamate API. Io attualmente ho alcune cose di lavoro chiamando la vista dall'interno della richiamata
//What I am doing now, but I lose the ability to pass anything other than the
//the current response to this function/View
FB.api('/me', function(response){
var newView = new facebookView({model: response});
});
ho originariamente stava cercando questo, ma perché la chiamata API è asincrona ho avuto problemi con le cose che sono undefined
//What I started with but had async issues
var fbResponse;
FB.api('/me', function(response){
fbResponse = response;
});
//I would then try and use fbResponse but it would be undefined
I perdere la prima risposta quando faccio il secondo. Ad esempio la mia prima chiamata api è a/me per ottenere le informazioni dell'utente. Posso quindi chiamare/your-fb-id/foto e ottenere foto, ma se effettuo la chiamata a un'altra funzione all'interno della foto a callback di API, posso solo fare riferimento a tale risposta. Ho perso la risposta originale/me. Se potessi ottenere la risposta dal callback, sarei in grado di passarla se necessario. Comprendo che la risposta è valida solo all'interno del callback, quindi come faccio a renderlo valido al di fuori della callback tenendo conto che è asincrona?
Grazie! Mi ha aiutato esattamente nella stessa situazione! –