javascript - 确定 JavaScript Dropbox Datastore API 何时完成插入

标签 javascript dropbox-api

我正在使用 JavaScript API 将大量记录 (2000-3000) 导入到 Dropbox 数据存储中。我试图阻止 UI,直到导入完成,因为如果用户离开页面,导入将在中途终止。

这是我的代码,其中包含所发生事件的注释:

//This shows a "loading" spinner
showLoader('Standby','Importing logbook...');

//Fire import function
writeToDropbox('aircraft', data.aircraft);

function writeToDropbox(tableName, dataArray){

  //Write up to 100 items per delta
  for(var i = 0; i < dataArray.length && i < 100; i++) {
    //Write to Dropbox
    datastore.getTable(tableName).insert(dataArray[i]);
  }

  if(i < dataArray.length) { 
    //More to write
    window.setTimeout(function(){
      //After a tick, continue from where we left off              
      writeToDropbox(tableName, dataArray.slice(i));      
    }, 1);
  }

  //Check progress
  if(dataArray.length == 0){
    //Writing complete... show the confirmation modal
    hideLoader();
    $('#modal-done').show(); //(!) This happens before all the records are inserted
  }  
}

我遇到的问题是 JavaScript 全部执行并且我的应用程序显示确认模式,但在后台数据存储区 API 仍在插入记录。

如何可靠地确定 API 何时完成插入记录?

最佳答案

关于javascript - 确定 JavaScript Dropbox Datastore API 何时完成插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27813002/

相关文章:

javascript - 从 Jquery 渲染 MVC View 部分

javascript - Ionic 中的 Angularjs $http 发布错误

使用 REST API 的 Dropbox 差异/增量上传

javascript - 在 React 中显示 .text 文件内容

javascript 两种颜色重复效果

javascript - 为什么当我尝试解析 ajax 中的数据时它不起作用

python - httplib.BadStatusLine 错误(与 Dropbox Python SDK 一起使用)

php - Dropbox API 400 错误 : “4xx Error (4xx) We can' t find the page you're looking for.”

dropbox - 在 Dropbox Chooser 中打开特定文件夹

javascript - AngularJS promise 解析在下一次用户交互之前不会更新 GUI