Создайте обещание jQuery для файлового API readAsTextHtml

Программисты Html
Anonymous
Создайте обещание jQuery для файлового API readAsText

Сообщение Anonymous »

Я использую элемент ввода файла, с помощью которого пользователь выбирает один текстовый файл:
Я хотел бы создать обещание jQuery, связанное с асинхронным событием объекта FileReader, загружающим содержимое выбранного файла. Я пробовал подобный код в различных контекстах, но, похоже, возникла какая-то проблема с синхронизацией, поскольку я не передаю переменную содержимого в обратный вызов then():

Код: Выделить всё

var promise = $.Deferred(function(dfd) {
var file = $("#myfile")[0].files[0];
var reader = new FileReader();
reader.onload =  function(event){
var contents = event.target.result;
dfd.resolve(contents);
};
reader.readAsText(file);
}).promise();

// other code and promises here

$.when(promise).then(function(contents){
console.log(contents);
});
На самом деле здесь задействованы два события. Первое событие происходит, когда пользователь нажимает кнопку «Обзор» и выбирает определенный файл. Второе событие — это когда FileReader загружается с содержимым выбранных файлов. Если кто-нибудь знает, как правильно упаковать это, я обещаю, что при разрешении сохранится содержимое выбранного файла, я был бы признателен за ваше понимание. Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/125 ... readastext

Вернуться в «Html»