Я использую FileReader в ExtJs и хочу вернуть логическое значение после чтения файла и сравнить число строк с константой. Проблема в том, что я не могу получить результат в событии загрузки. Я думаю, что мне нужно использовать обратный вызов, но я не знаю, как написать функцию ExtJs с обратным вызовом. Любая помощь, пожалуйста?
Моя функция:
fileHasAdmittedSize: function() {
var me = this;
var file = me.getView().down('#newImsiForm').down('filefield').getEl().down('input[type=file]').dom.files[0];
var reader = new FileReader();
reader.onload = (function() {
return function(e) {
var match = e.target.result.match(/\r?\n/g);
if (match.length > 4000000) {
Ext.MessageBox.show({
title: 'ERROR',
msg: WebUI.Msg.imsiMaxFileSize,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
return false;
} else {
return true;
}
};
})(file);
reader.readAsText(file);
}
Если я вызову эту функцию, результат не определен.