Параметр тайм-аута для Ionic/AngularJS $resource не работает

Я пытался установить значение тайм-аута (в миллисекундах) для моего $ ресурса, чтобы, если сервер не отвечает в течение 10*1000 миллисекунд, я хотел, чтобы служба на моей фабрике возвращала обещание ошибки.

У меня есть фабрика со следующим методом:

service.getDelta = $resource(BASE_API_URL + '/delta/:inTable/:inDate', 
{inTable: '@inTable', inDate: '@inDate'},
{query: {timeout: 10*1000}});

В контроллере я делаю следующее:

getDataPromises.push(remoteService.getDelta.query({inTable: "table1", inDate: clientDateLastModified}).$promise);
getDataPromises.push(remoteService.getDelta.query({inTable: "table2", inDate: clientDateLastModified}).$promise);
getDataPromises.push(remoteService.getDelta.query({inTable: "table3", inDate: clientDateLastModified}).$promise);
getDataPromises.push(remoteService.getDelta.query({inTable: "table4", inDate: clientDateLastModified}).$promise);

Затем я проверяю, чтобы убедиться, что все успешно или обработать ошибку, если один не удается.

$q.all(getDataPromises).then(
  function (result) {
    // NOTIFY SUCCESS
  },
  function (error) {
    // NOTIFY ERROR
  });

Успех в обещании наступил, как и ожидалось. Если я пропущу настройку тайм-аута, я также получу ошибку в обещании для таких проблем, как 404. Но когда я добавляю тайм-аут, я получаю следующее при строковом преобразовании объекта ошибки в моем обратном вызове ошибки:

{"line":13380,"column":32,"sourceURL":"file:///Users/ ... /www/lib/ionic/js/ionic.bundle.js"}

Я неправильно понимаю использование тайм-аута?

Я использую ionic 1.2.4, который я считаю, использует Angular 1.4.3.

Примечание: я знаю, что этот вариант использования не оправдывает использование $ resource и может быть реализован с помощью $ http, но я хотел получить представление о его использовании, так как я планирую в будущем использовать это приложение.

Спасибо!

0 ответов

Другие вопросы по тегам