[英][$promise: Promise, $resolved: false]
頗有新意。
我正在使用$ resource從Mongodb獲取約會列表。 當資源返回時,我會得到[$ promise:Promise,$ resolved:false],因此當我在下面進行操作時。
當在控制台中挖掘[$ promise:Promise,$ resolved:false]時,我看到所有約會。
在角度視圖中顯示約會之前,我需要做一些業務規則檢查。
我嘗試使用.then不變。 $ resolved是什么意思:false是什么意思?
我在這里先向您的幫助表示感謝
var appointments = Appointments.findByCat({
catId: $stateParams.catId
});
console.log(appointments); //This prints [$promise: Promise, $resolved: false]
return appointments.length; // is 0 always
$ resolved是什么意思:false是什么意思?
這意味着諾言沒有兌現。 換句話說, Appointments.findByCat
是異步的,尚未完成對該值的檢索。 您需要使用then
。
function doStuff() {
return Appointments.findByCat({
catId: $stateParams.catId
}).then(function(appointments) {
console.log(appointments);
return appointments.length;
});
}
問題在於調用該代碼的代碼還必須具有承諾感知能力。 您不能直接使用函數的返回值( doStuff
)。 您還需要在調用方中使用then
。
// Won't work
var count = doStuff();
// Use count
// Will work
doStuff().then(function(count) {
// Use count
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.