2016-05-08 31 views
2

breezeコントローラからデータを取得した後、次の例外が発生します。ここでTypeError:未定義またはnull参照のプロパティ 'then'を取得できませんAngularjs Breeze

TypeError: Unable to get property 'then' of undefined or null reference

は私のコードです:

Student.js

function fetchUsers() 
{ 
    return repository.GetAllUsers().then(function querySucceeded(data) { 
     // Looks like the problem with the above 'then' 
     vm.allUsers = data; 
     return vm.allUsers; 
    }); 
} 

repository.js:

function GetAllUsers() 
{     
    var query = EntityQuery.from('users'); 
    manager.executeQuery(query).then(querySucceeded, _queryFailed);    

    function querySucceeded(data) {          
     log('Retrieved [Lookups]', data, true);  
     return data.results; //Here I can see the fetched data from breeze controller. 
    } 
} 

私はto$qで、次に交換するときは、私が見ますフォロー翼例外:

Object doesn't support property or method to$q

+0

'GetAllUsers()'は何も返しません。 – robertklep

答えて

1

GetAllUsers関数はトップレベルで何return文を持っていません。

意図はdata.resultsに解決チェーン約束を返すことであれば、ネストされた階層の各レベルでreturn文が含まれています。

function GetAllUsers() {     
    var query = EntityQuery.from('users'); 

    //return derived promise  
    return (
     manager.executeQuery(query) 
      .then(querySucceeded, _queryFailed) 
    );    

    function querySucceeded(data) {          
     log('Retrieved [Lookups]', data, true); 
     //return for chaining  
     return data.results; //Here I can see the fetched data from breeze controller. 
    }; 
}; 

ネストされた関数には、レベルごとにreturnステートメントが必要です。それがなければ、関数はnullを返します。その結果、は未定義またはヌル参照のプロパティ 'then'を取得できませんエラー。

+0

ご返信ありがとうございます。それは役に立ちます。 –

関連する問題