Ионное обновление с jsdata, кажется, не работает

Мое ионное приложение использует хранилище данных jsdata для кэширования http://www.js-data.io/docs/home.
Я пытаюсь реализовать функцию pull to refresh в моем приложении, используя директиву ion-refresher.

DoRefresh, похоже, вообще не выполняет Get Call.
Когда я нажимаю Pull для обновления, все сообщения console.log в приведенном ниже коде выполняются.
Однако, если я проверяю вкладку Сети, я вообще не вижу, как выполняется вызов Get.
Данные не обновляются, и я не получаю никаких ошибок.
Я не уверен, почему это происходит или что я делаю неправильно.

Мой код:

HTML:
<ion-refresher
            pulling-text="Pull to refresh..."
            on-refresh="doRefresh()">
    </ion-refresher>

контроллер:

.controller('ProfileInfo', function($scope, Profile) {

  $scope.load = function() {
        $scope.error = undefined;


        Profile.findAll().then(function(response) {
            $scope.Profile = response[0];


          }).catch(function(err) {
            $scope.error = err;
          });
      };

   $scope.load();


$scope.doRefresh = function() {
        console.log("hi")
        $scope.error = undefined;
        $scope.Profile = [];
            Profile.findAll().then(function(response) {
            console.log($scope.Profile)
            $scope.Profile = response[0];
                console.log($scope.Profile)
            console.log("Done")

        }).catch(function(err) {
            console.log("err", err)
            $scope.error = err;
        }).finally(function(){
            console.log("in finally")
             $scope.$broadcast('scroll.refreshComplete');
        });
    };

});

1 ответ

Решение

Внутри вашего doRefresh метод, вам нужно пройти bypassCache: true в findAll все, чтобы заставить его попробовать сделать новый запрос, например,

var query = {};
var options = {
  bypassCache: true
};
Profile.findAll(query, options).then(...);

Узнайте больше о поведении DS#findAll в JSData 2.x.

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