Я использую RIOT GAMES API. И я использую заводы для вызовов API. Прежде всего, я запрашиваю имя summonerName, а затем я использую это имя, чтобы получить идентификатор этого summonerName.Как передать аргументы через запросы фабрик
Я попытался с:
$scope.summonerId = $scope.summoner.id;
А затем получить доступ к этим $ охвата, но он не работает:
Я RECIVED этой ошибки с и неопределенными, где я должен Recive в summonerId. (21694436) это мой summonerID:
https://euw.api.pvp.net/api/lol/euw/v1.3/stats/by-summoner/undefined/summary?season=SEASON2016&api_key=foo-bar-foo-bar-foo-bar
Я получил следующий код яваскрипта:
'use strict';
angular.module('mean.system').controller('SummonerController', ['$scope', '$http','APIAcces', '$stateParams',
function($scope, $http, APIAcces, $stateParams) {
$scope.summonerName = $stateParams.summonerName;
APIAcces.getSummonerByName($scope.summonerName).then(
function successCallback(response) {
$scope.summoner = response.data[$scope.summonerName.toLowerCase()];
$scope.summonerId = $scope.summoner.id;
console.log($scope.summonerId); //returns id successfuly
console.log(response);
}, function errorCallback(error) {
console.log(error);
console.log(response);
},
//if I do.. APIAcces.getSummonerSummary('21694436').then(// it works!
APIAcces.getSummonerSummary($scope.summonerId).then(
function successCallback(response) {
$scope.summoner2 = response.data[$scope.summonerId];
console.log(response);
},function errorCallback(error) {
console.log(error);
console.log(response);
}
) //End APIAcces.getSummonerSummary
); //End APIAcces.getSummonerByName
}
]);
Я прохожу аргумент summonerId и этот завод не признает его. I use this method:
angular.module('mean.system').factory('APIAcces',['$http','API_KEY',
function($http,API_KEY){
return {
getSummonerByName:function(summonerName){
return $http.get('https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/'+summonerName+'?api_key='+API_KEY.KEY);
},
getSummonerSummary:function(summonerId){
return $http.get('https://euw.api.pvp.net/api/lol/euw/v1.3/stats/by-summoner/'+summonerId+'/summary?season=SEASON2016&api_key='+API_KEY.KEY);
},
}
}]).value('API_KEY',{
KEY: 'foo-bar-foo-bar-foo-bar'
});
Я не знаю, может быть, это приказ заводов или что-то?
* природа Аякса быть асинхронной – devqon
это не нужно для AJAX, вы можете даже построили у вас есть функция «асинхронной», как тайм-аут() – Kossel
я знаю, больше, что я имею в виду это не сам javascript, асинхронный в этом случае, но вызов ajax – devqon