Das createQuestionDataAsync gibt keine Daten zurück. Die flQuestion.create-Funktion ruft einen Expressdienst auf, der in eine Mongodb-Sammlung schreibt. Die Frage wird geschrieben und der Wert kommt zurück und wird in "Daten" gespeichert. Ich konnte das nicht wie einen typischen Callback einrichten (err, data), da die Antwort zurück nur einen Wert zurückgibt. Vielleicht muss ich das versprechen? Oder kann ich einen Rückruf mit einigen Änderungen behalten?Angular Callback gibt Daten nicht an Angular Versprechen zurück
angular.module ('App') Werk ('flQuestionCrud', function ($ http, $ q, $ Zustand, flQuestion) { return { createNewQuestion. Funktion (newQuestionData) { console.log (“ Vor - flQuestion.create ");
// Question Call Back Function
function questionCallBack(err, data){
if (err){
console.log("flQuestionCrud - Error " + err);
console.log("flQuestionCrud - Error Statement " + err);
return null;
//$state.go('questionCreate');
}else {
console.log("flQuestionCrud - Success " + data);
console.log("flQuestionCrud - Success Statement " + data.statement);
console.log("flQuestionCrud - Success Question id " + data._id);
return data;
//$state.go('questionUpdate');
}
}
// Try/catch
function createQuestionDataAsync(questionData, cb) {
console.log("flQuestionCrud - Before Call to create ")
flQuestion.create(questionData, function(data) {
console.log("flQuestionCrud - After Call to create ")
if (!data){
return cb("Error Creating Data");
//return null;
}
try {
console.log("flQuestionCrud - Try Section - Success " + data);
console.log("flQuestionCrud - Try Section - Success Statement " + data.statement);
console.log("flQuestionCrud - Try Section - Success Question id " + data._id);
}
catch (err) {
return cb("Error Creating Data");
//return null;
}
return cb(null,data);
//return data;
});
}
createQuestionDataAsync(newQuestionData,questionCallBack);