У меня есть сетка из различных ячеек, куда пользователи могут перетаскивать изображения. При перетаскивании в сетку выполняется вызов действия $ resource, и приложение обновляется.
Я хочу добиться, чтобы в каждой ячейке был загрузчик, когда активен вызов обновления. Например, пользователь бросает элемент в ячейку, и отображается вращающийся загрузчик. После возврата вызова загрузчик удаляется из ячейки и ячейка обновляется.
Все ячейки запускают один и тот же вызов, но данные, передаваемые вызову, различны. Моя проблема в том, как отследить ячейку, на которую отображается возврат. Используя эту функцию, пользователи могут загружать несколько ячеек одновременно. Конечно, если все работает нормально, результаты вызова могут вернуть местоположение ячейки, и это можно использовать для удаления загрузчика. Например, элемент удаляется, выполняется вызов, вызов возвращает данные, которые включают местоположение ячейки, затем JS использует данные местоположения ячейки, чтобы удалить загрузчик и обновить ячейку.
Моя проблема в том, что произойдет, если он полностью выйдет из строя (по какой-либо причине). Как приложение узнает, из какой ячейки удалить загрузчик. EG В ячейку бросается элемент, и выполняется звонок. В ячейке отображается загрузчик, и приложение ожидает возврата. Допустим, возврат никогда не приходит или возврат завершается с ошибками. Как узнать, к какой ячейке принадлежит сбойный вызов?
Я ищу способ указать данные в вызове $ resource, к которым можно получить доступ в ответе на обещание. НАПРИМЕР
rest = $resource('www.api-source.com/layout/34/cells','post',{cell_locaiton:'2x4'},{'post': {method:'GET', isArray: false}});
rest.setTracker('2x5');
rest.post( );
rest.$promise.then(function(data) {
$scope.removeLoader(data.cell_data.location);
},function(data, status, headers, config) {
cell = rest.getTracker( );
$scope.removeLoader(cell);
}
Где значение устанавливается в ресурсе $, а затем извлекается из обещания $. Я не говорю, что это лучший способ сделать это. Я просто хочу иметь возможность удалить загрузчик, если данные о местоположении ячейки не возвращаются.