Улучшаем шаблон

Улучшаем шаблон

Этот шаблон можно немного видоизменить, чтобы он обрабатывался не по завершению процесса, а в ходе его исполнения. Это нам очень поможет при использовании индикатора состояния:

function doSomething (progressFn [, дополнительные аргументы]) {

// Выполняем инициализацию

(function () {

// Делаем вычисления...

if (условие для продолжения) {

// Уведомляем приложение о текущем прогрессе

progressFn(значение, всего);

// Обрабатываем следующий кусок

setTimeout(arguments.callee, 0);

}

})();

}

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Создаем свой шаблон

Из книги автора

Создаем свой шаблон Пояснение Не хочу грузить вас специальной терминологией, но считаю своим долгом пояснить, что то, в чем мы сейчас начинаем разбираться, называется основами языка гипертекстовой разметки, или HTML (HyperText Markup Language), если по-английски. Вот с помощью тегов —


Первый шаблон, основные теги

Из книги автора

Первый шаблон, основные теги Все. Теперь приступим к созданию шаблона наших страничек. Пишем в Блокноте текст, показанный на рис. П1.7. Рис. П1.7. Наш шаблонДалее весь код будет приводиться в листингах. Поэтому то, что запечатлено на рис. П1.7, я перепишу в листинг


Добавляем в шаблон текст

Из книги автора

Добавляем в шаблон текст Итак, изменим содержимое нашего шаблона, вставив туда немного текста (листинг П1.4). Ну и сохраним этот файл, например, под именем, соответствующим номеру листинга: listing_1.4.html. Открываем файл и видим следующую картину (рис. П1.9). Рис. П1.9. Файл listing_1.4.html


8.2. Использование функции для создания объектов (шаблон фабрики)

Из книги автора

8.2. Использование функции для создания объектов (шаблон фабрики) ПроблемаВместо создания объекта в куче с помощью new вам требуется функция (член или самостоятельная), выполняющая создание объекта, тип которого определяется динамически. Такое поведение достигается с


Формализованный шаблон освобождения ресурсов

Из книги автора

Формализованный шаблон освобождения ресурсов Текущая реализация MyResourceWrapper работает вполне приемлемо, но некоторые недостатки она все же имеет. Во-первых, каждому из методов Finalize() и Dispose() приходится очищать одни и те же неуправляемые ресурсы. Это, конечно, ведет к


8.4.2. Шаблон auto_ptr А

Из книги автора

8.4.2. Шаблон auto_ptr А В стандартной библиотеке С++ auto_ptr является шаблоном класса, призванным помочь программистам в манипулировании объектами, которые создаются посредством оператора new. (К сожалению, подобного шаблона для манипулирования динамическими массивами нет.


16.13. Шаблон класса Array

Из книги автора

16.13. Шаблон класса Array В этом разделе мы завершим реализацию шаблона класса Array, введенного в разделе 2.5 (этот шаблон будет распространен на одиночное наследование в разделе 18.3 и на множественное наследование в разделе 18.6). Так выглядит полный заголовочный файл:#ifndef ARRAY_H#define


Глава 4 Улучшаем элементы управления

Из книги автора

Глава 4 Улучшаем элементы управления В каждой новой версии Visual Studio .NET разработчики из Microsoft добавляют новые элементы управления, а также улучшают функциональность уже существующих элементов. Особенно это заметно на примере .NET Compact Framework. Уже простое сравнение имеющихся


Массивы – шаблон CArray

Из книги автора

Массивы – шаблон CArray Библиотека MFC включает классы для организации массивов байт, слов, двойных слов, указателей, объектов класса CString и указателей на объекты класса CObject. В MFC версии 4.0 добавлен шаблон класса массива, позволяющий создавать на его основе собственные


Списки – шаблон CList

Из книги автора

Списки – шаблон CList В состав MFC входят классы, предназначенные для организации двунаправленных списков указателей, строк, состоящих из объектов CString, указателей на объекты класса CObject. В MFC версии 4.0 добавлен шаблон класса списка CList. С помощью этого шаблона можно создавать


Словари – шаблон CMap

Из книги автора

Словари – шаблон CMap Словарь, это таблица переменной длины, состоящая из двух колонок. Первая колонка содержит ключевые поля, а вторая – соответствующие им значения. Пользуясь объектами этого класса, вы можете по ключевому полю получить связанное с ним значение. Для