मुझे लॉग इन करने या यहां तक कि एपीआई को कॉल करने में कोई समस्या नहीं है, मुझे एपीआई कॉलबैक के बाहर प्रतिक्रिया प्राप्त करने में कोई समस्या है। मुझे पता है कि यह असीमित रूप से चलता है इसलिए मैं इसे एक ऐसे फ़ंक्शन में रखना चाहता हूं जो प्रतिक्रिया वापस कर दे। यहाँ मेरा विचारमैं कॉलबैक फ़ंक्शन के बाहर एक FB.api (जेएस एसडीके) प्रतिक्रिया का उपयोग कैसे करूं?
//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;
}
है कि मैंने शुरू में एक बार/मुझे एपीआई फ़ंक्शन को कॉल करें और उसके बाद (मैं सिर्फ बैकबोन दृश्य के अंदर प्रतिक्रिया का उपयोग करें) मेरे विचार वस्तुओं के लिए इसके चारों ओर गुजरती हैं और चाहते हैं, उसके आधार पर अन्य एपीआई कॉल करने की जरूरत है। मैं वर्तमान में कुछ बातें कॉलबैक
//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});
});
मैं orginally इस कोशिश कर रहा था के अंदर से देखने को फोन करके काम कर रहा है, लेकिन क्योंकि API कॉल अतुल्यकालिक है मैं चीजों को अपरिभाषित जा रहा
//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
मैं के साथ मुद्दों था जब मैं दूसरा बनाता हूं तो पहली प्रतिक्रिया खो दें। उदाहरण के लिए मेरा पहला एपीआई कॉल उपयोगकर्ता जानकारी प्राप्त करने के लिए/मुझे है। मैं फिर/your-fb-id/फ़ोटो कॉल कर सकता हूं और फ़ोटो प्राप्त कर सकता हूं, लेकिन अगर मैं फोटो एपीआई कॉलबैक के अंदर किसी अन्य फ़ंक्शन पर कॉल करता हूं तो मैं केवल उस प्रतिक्रिया का संदर्भ दे सकता हूं जिसे मैंने मूल/मुझे प्रतिक्रिया खो दी है। अगर मैं कॉलबैक से प्रतिक्रिया प्राप्त कर सकता हूं तो मैं इसे आवश्यकतानुसार पास कर पाऊंगा। मैं समझता हूं कि प्रतिक्रिया केवल कॉलबैक के अंदर मान्य है, इसलिए खाते में यह अतुल्यकालिकता को ध्यान में रखते हुए कॉलबैक के बाहर वैध कैसे बना सकता हूं?
धन्यवाद! यह वास्तव में एक ही स्थिति में मेरी मदद की! –