У меня есть это простое приложение с а завод и контроллер:
angular.module('AppName', ['ngResource'])
.factory('apiData', ['$resource', function ($resource) {
var apiRequest = $resource("https://live.reddcoin.com/api/addr/:address/balance");
return {
full: function(address){
return apiRequest.get({address: address}).$promise
.then(
function(data){ console.log(data); return data;},
function(){ return 'error'; }
);
}
}
}])
.controller('TwoController', function($scope, apiData){
$scope.price = apiData.full('RszZrK51ur5G67y3Wy6niTnawdYYdBRZEq').then(function(data){console.log(data); return data;});
});
В то разделы как заводские, так и контроллер не возвращающие данные из апи ресурса. Вместо этого он возвращает e { $promise=Promise, $resolved=true, toJSON=function(), more...}
, что видно на консоли.
URL-адрес из примера апи ресурса: https://live.reddcoin.com/api/addr/RszZrK51ur5G67y3Wy6niTnawdYYdBRZEq/balance
Да, но 'data' должны быть возвращены данные разрешенного обещания, не так ли? – neptune
, но вы не можете вернуть данные в обратном вызове «then» и назначить результат «then» для области. Результат «тогда» всегда является обещанием. Единственный способ присвоить данные самой области видимости - это назначить переменную области видимости в результате последующего обратного вызова. – fikkatra
Получил его, но 'console.log (data);' в обратном вызове успеха все еще не показывают мне в консоли нужные мне данные. Вот чего я не понимаю. – neptune