如何警告角度ui网格导入文件失败?

时间:2015-09-15 22:21:14

标签: javascript angularjs csv angular-ui-grid

我使用角度UI网格导入文件 我正在使用:

enableGridMenu: true,
importerDataAddCallback: function (grid, newObjects) {

当我导入不是csv的文件时,我收到错误:

  

未捕获的异常:在char ...的UNEXPECTED_END_OF_RECORD

如果导入无效,我想弹出一个警告框 我找到了 uiGridImporterService ,它有方法 alertError(grid,headerRow)
我不确定这是否是我需要的
那么,如果失败,如何添加警报?
作为一个附带问题,我可以检查它是否正在导入.csv文件?

2 个答案:

答案 0 :(得分:1)

以下是警告CSV导入失败的代码:

CSV.error = function (err){
    var msg = CSV.dump(err);
    CSV.reset();
    //alert("CSV import failed.");
    toastr["error"]("Import failed.");
    throw msg;
};

答案 1 :(得分:0)

使用$ q

通过使用$ q,您可以返回可能失败或通过的承诺。如果您的案例失败,您可以拨打警报弹出。

示例

取自AngularJS documentation

return $q(function(resolve, reject) {
  setTimeout(function() {
    if (okToGreet(name)) {
      resolve('Hello, ' + name + '!');
    } else {
      reject('Greeting ' + name + ' is not allowed.');
    }
  }, 1000);
});

在faild promises返回时,您可以使用警报弹出窗口告诉用户操作失败。