2015-09-08 60 views
0

CORS已啓用並正在運行。在Cordova項目中,PouchDb不能與CouchDb同步

我們有一個Cordova應用程序,它在第一次連接到CouchDB時正在同步。之後,db.sync()不起作用。只有當我們以Fly模式離線和在線時,它纔會短時間同步。

我們有創建本地袋數據庫,並建立同步與我們的遠程CouchDB的一個angular.factory

(function() { 

angular 
    .module('IkasApp') 
    .factory('pouch', ['$http', ThisFunction]); 


function ThisFunction($http) { 
    PouchDB.debug.enable('*'); 
    var db = new PouchDB('test_suite_db'); 

    var remoteCouch = 'http://estouch.iriscouch.com/_utils/database.html?test_suite_db'; 



    if (remoteCouch) { 
     var opts = { 
      live: true 
     }; 
     db.sync(remoteCouch, opts); 
    } 

    return db; 


} 
}()); 

我們能夠創建和我們pouchDB(test_suite_db)更新文件,但它不是直播同步不斷。 正如你可以看到自己從這github來了很多靈感。我們正在運行Pouch 4.0.1。

回答

0

看起來像是在使用同步選項{live: true}。你有沒有試過{live: true, retry: true}

+0

你好。我們只是試過重試:是的。它不起作用。我們知道我們的db.sync()每次在db.changes中發生變化時都會調用。你有任何其他的消化? –

+0

你能提供更多關於什麼不起作用的細節嗎?如果您將事件偵聽器附加到sync(),您也可以獲得更多見解,如API文檔中所示:http://pouchdb.com/api.html#sync – nlawson

0

如果您重試false並使用錯誤處理程序,那麼您至少可以看到錯誤。

.on('error', function(err){console.log(JSON.stringify(err));});