Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用PockDB创建批处理文档会减慢webapp的速度_Angularjs_Ionic Framework_Couchbase_Pouchdb_Couchbase Sync Gateway - Fatal编程技术网

Angularjs 使用PockDB创建批处理文档会减慢webapp的速度

Angularjs 使用PockDB创建批处理文档会减慢webapp的速度,angularjs,ionic-framework,couchbase,pouchdb,couchbase-sync-gateway,Angularjs,Ionic Framework,Couchbase,Pouchdb,Couchbase Sync Gateway,我正在尝试使用PockDB的bulkSave()函数保存文档。 但是,当保存这些文档时,它开始使用同步网关与主数据库同步&这样做时,webapp的速度会减慢,当我尝试导航到不同的选项卡时,该选项卡上不会显示任何内容 下面是如何创建文档的示例: for (var i = 0; i <= instances; i++) { if (i > 0) { advTask.startDate = new Date(new Date(advTask.startDate)

我正在尝试使用PockDB的bulkSave()函数保存文档。 但是,当保存这些文档时,它开始使用同步网关与主数据库同步&这样做时,webapp的速度会减慢,当我尝试导航到不同的选项卡时,该选项卡上不会显示任何内容

下面是如何创建文档的示例:

for (var i = 0; i <= instances; i++) {
      if (i > 0) {
        advTask.startDate = new Date(new Date(advTask.startDate).setHours(new Date(advTask.startDate).getHours() + offset));
      }
      if (advTask.estimatedDurationUnit == 'Minutes') {
        advTask = $Date.getAdvTaskEndTimeIfMinutes(advTask);
      } else if (advTask.estimatedDurationUnit == 'Hours') {
        advTask = $Date.getAdvTaskEndTimeIfHours(advTask);
      } else if (advTask.estimatedDurationUnit == 'Days') {
        advTask = $Date.getAdvTaskEndTimeIfDays(advTask);
      }
        if(new Date(advTask.endDate).getTime() >= new Date($scope.advTask.endDate).getTime()) {
          // here save the task array using bulkSave() function
          $db.bulkSave(tasks).then(function (res) {
            $db.sync();
          });
          break;
        }
        advTask.startDate = $Date.toGMT(advTask.startDate);
        advTask.endDate = $Date.toGMT(advTask.endDate);
        var adv = angular.copy(advTask);
        tasks.push(adv); // here pushing the documents to an array
        offset = advTask.every;
    }
for(变量i=0;i 0){
advTask.startDate=新日期(新日期(advTask.startDate).setHours(新日期(advTask.startDate).getHours()+偏移量));
}
如果(advTask.estimatedDurationUnit=='Minutes'){
advTask=$Date.getAdvTaskEndTimeIfMinutes(advTask);
}else if(advTask.estimatedDurationUnit=='Hours'){
advTask=$Date.getAdvTaskEndTimeIfHours(advTask);
}else if(advTask.estimatedDurationUnit=='Days'){
advTask=$Date.getAdvTaskEndTimeIfDays(advTask);
}
if(新日期(advTask.endDate).getTime()>=新日期($scope.advTask.endDate).getTime()){
//这里使用bulkSave()函数保存任务数组
$db.bulkSave(任务)。然后(函数(res){
$db.sync();
});
打破
}
advTask.startDate=$Date.toGMT(advTask.startDate);
advTask.endDate=$Date.toGMT(advTask.endDate);
var adv=角度.copy(advTask);
任务。推送(adv);//这里将文档推送到一个数组中
偏移量=advTask.every;
}

提前谢谢

bulkSave
不是核心数据库API;你在使用插件吗

还有一条建议是Couchbase Sync Gateway对PockDB没有100%的支持,在某些情况下会出现问题

另一条建议是,在web worker中运行PockDB可以防止UI线程过载,这将解决选项卡无法显示的问题


您是否有要演示的实时测试用例?

bulkSave
不是一个核心的数据库API;你在使用插件吗

还有一条建议是Couchbase Sync Gateway对PockDB没有100%的支持,在某些情况下会出现问题

另一条建议是,在web worker中运行PockDB可以防止UI线程过载,这将解决选项卡无法显示的问题

您是否有要演示的实时测试用例?

交叉发布到论坛:交叉发布到论坛: