2013-07-29 43 views
2

爲什麼我收到「不能調用方法‘然後’的未定義」:不能調用方法「然後」的未定義

http://plnkr.co/edit/yWS6hRjmZZeZMJyVA0zy?p=preview

你能不能解決另一個承諾的。然後內部的承諾?

如果您將doSomething()調用取出並調用郊區,但是隻要您將調用添加到doSomething(),那麼代碼就會正常工作,並且會失敗,然後發生未定義錯誤。

對於doSomething的調用也適用於.then以外的請求獲得郊區的情況,所以這就是爲什麼我導致相信這是與它被嵌入的原因。

謝謝

+3

請[edit]在此處發佈代碼的相關部分。問題應該是獨立的,不要依賴外部站點來獲取主要內容。將大部分內容發佈到場外意味着如果由於某種原因該場外位置不可用,則您的問題缺乏意義,並且此處的未來讀者無法對其進行搜索。 (它也需要人們離開這個網站以確定你要問什麼,然後回到這裏來發布答案。) –

回答

9

我看見你的普拉克,有一個小錯誤。我正在給予更正的重擊者。 http://plnkr.co/edit/vRuA5Vy8sT6BhzsaYTkl?p=preview

doSomething : function() { 
    //your method isn't returning anything 
    return $http().then(); 
} 
+0

如果你的方法沒有返回'then'函數產生的諾言,你怎麼能控制器代碼與承諾進行交互 –

+0

是的,其實我錯了,其他服務功能確實返回了承諾。看起來我錯過了回報聲明。 – andro1d

相關問題