函数永远不会结束 - fileReader xlsx.js angularJS

时间:2015-03-01 11:30:58

标签: angularjs function filereader

我将FileReader对象与xlsx.js结合使用,将Excel表格中的数据导入我的AngularJS Web-App。

该函数永远不会结束,因此我需要通过单击按钮继续我的脚本来手动调用空虚拟函数check(){}来手动继续脚本。我不知道,为什么剧本的行为就像那样。

我的控制器代码:

$scope.fileChanged = function(files) {
    var i,f;
    f = files[0];
    reader = new FileReader();
    reader.onload = function(e) {

        var data = e.target.result;
        var workbook = XLSX.read(data, {type: 'binary'});
        formData.data.teams = XLSX.utils.sheet_to_json(workbook.Sheets['latusch']);
        var sheet_name_list = workbook.SheetNames;

        var worksheet = workbook.Sheets['latusch'];
        var result = {};
        workbook.SheetNames.forEach(function(sheetName) {
            var roa = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
            if(roa.length > 0){
                result[sheetName] = roa;
            }
        });
        reader.readAsArrayBuffer(f);
    }

1 个答案:

答案 0 :(得分:0)

readAsArrayBuffer位于onload回调中,因此不会被调用 将其从回调中删除。