Etwas, mit dem ich in der Vergangenheit gekämpft habe und heute kämpfe, ist die Verhinderung einer API/AJAX von weiter, bis Sie Ihre Antwort erhalten haben. derzeit arbeite ich mit der Facebook-API. Ich muss eine Antwort von einem Aufruf erhalten und sie dann zurückgeben, aber was passiert, ist, dass meine Funktion zurückkehrt, bevor ich überhaupt eine Antwort von dem API-Aufruf erhalte. Ich weiß, warum das passiert, aber ich kann nicht herausfinden, wie ich das verhindern kann! Hier ist mein Code...
function makeCall(){
var finalresponse = "";
var body = 'Test post';
FB.api('/me/feed', 'post', { message: body }, function(response) {
if (!response || response.error) {
finalresponse = response.error;
} else {
finalresponse = 'Post ID: ' + response.id;
}
});
return finalresponse;
}
----- EDIT
Mir ist aufgefallen, dass einige Leute etwas Ähnliches vorgeschlagen haben...
function makeCall(){
var finalresponse = "";
FB.api('/me/feed', 'post', { message: body }, function(response) {
if (!response || response.error) {
finalresponse = response.error;
return finalresponse;
} else {
finalresponse = 'Post ID: ' + response.id;
return finalresponse;
}
});
}
Aber das Ergebnis ist undefiniert
// BEARBEITUNG AUF DER GRUNDLAGE VON AKTUALISIERUNGEN
function share_share(action_id){
var finalresponse = makeCall(action_id, process);
return finalresponse;
}
function makeCall(action_id, callback){
var body = 'Test post';
FB.api('/me/feed', 'post', { message: body }, function (response) {
if (!response || response.error) {
var finalresponse = response.error;
} else {
finalresponse = 'Post ID: ' + response.id;
}
callback(action_id, finalresponse);
});
}
function process(action_id, finalresponse){
console.log(finalresponse);
}