![](/img/trans.png)
[英][Unhandled promise rejection: TypeError: undefined is not an object (evaluating 'response.data')]
[英]TypeError: 'undefined' is not an object (evaluating 'promise.data.map')
我目前正在为以角度版本实施的项目创建单元测试。 1.2
我创建了一个模拟服务,它返回了与控制器测试一起使用的延迟承诺。 服务方法如下所示:
function getItems() {
var deferred = $q.defer();
deferred.resolve(["item1", "item2"]);
$rootScope.$apply();
return deferred.promise;
}
当我调用此服务方法并执行deferred.resolve时,出现错误
TypeError: 'undefined' is not an object (evaluating 'promise.data.map')
有谁知道promise.data.map
是什么以及我需要做什么来纠正错误?
这是您的问题的解决方案
在你的问题你试图调用promise
的前值rootScope
已经在你的控制器,这是造成问题的定义。 因此,它将返回未定义的值。
尝试在controller
的rootScope
值之后定义rootScope
,这可能会修复错误消息
希望此解决方案可以对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.