簡體   English   中英

[$ promise:承諾,$ resolved:false]

[英][$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM