ngResource makes a request but does not parse resu

2019-09-05 15:44发布

问题:

I am working on a webapp that uses ngResource to fetch backend data. Here is my factory

App.factory('MyCoolResource', ['$resource', function($resource) {
  'use strict';
  return $resource('/rest/MyCoolResource');
}]);

Then in a Controller

console.log("Query: " + MyCoolResource.query())

In Chrome network inspector I can see the data coming back (an array of String)

["Foo","Bar","Gaz","Waka"]

But the console logging shows nothing:

Query:    

What am I doing wrong here?

回答1:

The console.log() is getting called before the data arrives, because MyCoolResource.query() is asynchrone, try to use a callback that will be executed once the query ended and the data returned from the API then show this data via the console.log():

MyCoolResource.query(function(result) {
    console.log(result);
});