Ниже мой AirTableService.js
(function () {
"use strict";
var AirTableService = function ($http, $q) {
var AirTableMethods = {
getMyRounds: function(AirTable_secret){
var deferObject_myRounds;
var myRounds_promise = $http.get('https://api.airtable.com/v0/XXXXXXX/Rounds?view=Main%20View&maxRecords=10&callback=JSON_CALLBACK', {
headers : {
'Authorization' : AirTable_secret.apikey,
'Content-Type' : 'application/json'
}
});
deferObject_myRounds = deferObject_myRounds || $q.defer();
myRounds_promise.then(function(data){
deferObject_myRounds.resolve(data);
});
return deferObject_myRounds.promise;
}
};
return AirTableMethods;
};
AirTableService.$inject = ['$http', '$q'];
angular.module('appGolf')
.service('AirTableService', AirTableService);
}());
Как видите, используя AirTable api
, я пытаюсь GET
получить данные из своей таблицы. Я передаю параметры view
и maxRecords
и все работает. В документации указано, что я могу пройти sort
,
который я затем изменил на,
https://api.airtable.com/v0/XXXXXXX/Rounds?view=Main%20View&maxRecords=10&sort=[{field:'RoundID',direction:'desc'}]&callback=JSON_CALLBACK
и ясно, что это не работает, и это дает мне эту ошибку,
Я знаю, что это потому, что sort
— это array of objects
, и я знаю, что неправильно передаю это значение.
Мой вопрос, как вы это делаете в AngularJS
?
Заранее спасибо.
$http
уже возвращает обещание. Вам не нужно использовать$q
. - person Kyle   schedule 03.05.2016