Получить данные из функции обратного вызова PouchDB?

#javascript #angularjs #callback #pouchdb

#javascript #angularjs #обратный вызов #pouchdb

Вопрос:

Мне нужно получить все документы из базы данных PouchDB и сохранить их в переменной $scope (AngularJS). Кто-нибудь может сказать мне, как получить ‘doc’ из функции обратного вызова?

 db.allDocs({include_docs: true, descending: true}, function(err, doc) {
    $scope.info = doc;

});
  

Вне этого кода, $scope.info не определено, объект doc не сохраняется в этой переменной

Ответ №1:

Я предполагаю, что db это сторонний код, не являющийся частью angularjs или сервиса, тогда вам нужно сделать это следующим образом

 db.allDocs({include_docs: true, descending: true}, function(err, doc) {
  $scope.$apply(function(){  
    $scope.info = doc;
  })
});
  

потому что angularjs не знает об изменениях, которые происходят где-то еще

Комментарии:

1. db — это переменная, которая определяет экземпляр базы данных PouchDB 🙂