Я разрабатываю приложение в формате ionic
.
У меня есть функция в контроллере, которая должна загружать фотографии профиля facebook следующим образом ($rootScope.user_friends
- это массив объектов, в которых свойство fb_id объекта имеет идентификатор facebook пользователя, изображение профиля которого должно быть скачано):
$scope.downloadDP = function() {
// Make an API call for getting facebook profile picture URL
Session.userFBProfilePicture($rootScope.user_friends, function(response) {
console.log(response);
});
};
Ниже приводится метод обслуживания/завод:
// Makes API call for user's facebook DP URL
userFBProfilePicture: function(data_array, callback) {
var promises = [];
for (var i = 0; i < data_array.length; i++) {
var deffered = $q.defer();
var data = data_array[i];
$http({
method: 'GET',
url: 'https://graph.facebook.com/' + data.fb_id + '/picture?type=large&redirect=false',
}).
success(function(data) {
var url = data.url;
var targetPath = cordova.file.applicationStorageDirectory + "MyApp/" + data.mobile + ".png";
var trustHosts = true;
var options = {};
$cordovaFileTransfer.download(url, targetPath, options, trustHosts)
.then(function(result) {
deffered.resolve(result);
}, function(err) {
deffered.reject();
});
}).
error(function(error) {
deffered.reject();
});
promises.push(deffered);
}
return $q.all(promises);
},
сеть вызов https://graph.facebook.com/' + data.fb_id + '/picture?type=large&redirect=false
URL происходит успешно, и вместо сервера редирект, я получаю OBJE ct, где data.url
дает фактическое местоположение профиля профиля пользователя.
Я сослался на это сообщение в блоге: https://www.raymondcamden.com/2015/04/13/chaining-multiple-cordova-file-transfers-with-ngcordova/ и попытался обещать соответственно, но напрасно.
Кроме того, я не получаю ничего в своем console.log(response);
в методе контроллера. Я не уверен, где я ошибаюсь, любая помощь/указатели высоко ценится.
Избегайте [отложенного антипаттера] (http://stackoverflow.com/q/23803743/1048572)! – Bergi
@Bergi: определенно попытаться избежать отныне! – imsheth