繁体   English   中英

TypeError:“未定义”不是对象(正在评估“ promise.data.map”)

[英]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已经在你的控制器,这是造成问题的定义。 因此,它将返回未定义的值。

尝试在controllerrootScope值之后定义rootScope ,这可能会修复错误消息

希望此解决方案可以对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM