簡體   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