0
我想在Angular中創建一個承諾。異步函數flQuestionCrud.createNewQuestion(currentQuestionData)允許我在使用回調函數時在mongoDb集合中創建一個條目,但我無法獲取創建問題數據並且需要_id。我現在正在嘗試創建一個承諾,但錯誤消息是doWorkAsync.then不是一個函數。如果這是明確的,我會使用Q.nfcall,因爲這似乎是一種創建承諾的簡單方法,但是這種功能似乎並不存在於Angular中。關於如何創建承諾的任何建議?在Angular中創建一個承諾
function doWorkAsync() {
return $timeout(flQuestionCrud.createNewQuestion(currentQuestionData), 10);
}
doWorkAsync
.then(function(questiondata) {
console.log("flQuestionCrudCtrl - Success " + questiondata);
console.log("flQuestionCrudCtrl - Success Statement " + questiondata.statement);
console.log("flQuestionCrudCtrl - Success Question id " + questiondata._id);
currentQuestionData._id = questiondata._id;
flQuestionDataService.setNewQuestionId(questiondata._id);
console.log("flQuestionCrudCtrl - currentQuestionData._id " + currentQuestionData._id);
console.log("flQuestionCrudCtrl - flQuestionDataService.getNewQuestionId() " + flQuestionDataService.getNewQuestionId());
$state.go('questionUpdate');
})
.fail(function(err) {
console.log("flQuestionCrudCtrl - Error " + err);
$state.go('questionCreate');
})
.done();
謝謝,固定的功能,但暴露了另外兩個問題。錯誤:doWorkAsync(...)。then(...)。fail不是函數,錯誤:數據未定義。問題被寫入數據庫,但我仍然沒有收回返回問題/數據。我可能需要發佈應該返回數據的回調,除非您對這些問題有其他想法。 –
編輯我的回答 – GBa
再次感謝,修復了.fail錯誤,但我仍然沒有收回數據。我將用應該返回數據的函數創建另一個帖子。 –