【问题标题】:Cannot call method 'then' of undefined无法调用未定义的方法“then”
【发布时间】:2013-07-29 02:07:12
【问题描述】:

为什么我得到'无法调用未定义的方法'then':

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

你不能在另一个承诺的 .then 中解决一个承诺吗?

如果您调用 doSomething(),代码可以正常工作,并且它会获取郊区,但是一旦您添加对 doSomething() 的调用,它就会失败并出现 .then undefined 错误。

doSomething 的调用如果在 .then 之外也可以用于获取郊区的请求,所以这就是为什么我相信它与嵌入它有关。

谢谢

【问题讨论】:

  • edit 在此处发布代码的相关部分。问题应该独立存在,其主要内容不依赖于外部网站。在场外发布大部分内容意味着如果该场外位置由于某种原因不可用,并且未来的读者无法在这里搜索到,那么您的问题就没有意义。 (它还要求人们离开此站点以确定您在问什么,然后返回此处发布答案。)

标签: angularjs


【解决方案1】:

我看到了你的笨拙,有一个小错误。我正在给正确的 plunker。 http://plnkr.co/edit/vRuA5Vy8sT6BhzsaYTkl?p=preview

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

【讨论】:

  • 如果你的方法没有返回then函数生成的promise,你的控制器代码如何与promise交互
  • 是的,实际上我弄错了,其他服务功能确实返回了承诺。看起来我错过了退货声明。
猜你喜欢
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-09
  • 2013-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多