Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2015, 00:44   #11
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

А пока в Web Worker'е не завершилась функция onmessage, повторно её вызвать нельзя? Он тоже однопоточный?
Код:
onmessage = function(e) {
	if (e.data.cmd) switch (e.data.cmd) {
		case 'start':
			runProcess(e.data.data);
			break;
		case 'stop':
			stop = true;
			break;
	}
};
Т.е. если runProcess - это та самая длительная функция, то прервать её уже никак нельзя? Кроме как через worker.terminate (и потом опять его создавать нужно)?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 21.07.2015, 10:23   #12
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Цитата:
Сообщение от 7in Посмотреть сообщение
А пока в Web Worker'е не завершилась функция onmessage, повторно её вызвать нельзя? Он тоже однопоточный?
судя по твоим сообщениям ты делаешь что-то очень неправильное

какова задача?
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 21.07.2015, 14:35   #13
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

Большой список. По нажатию кнопки запускается функция удаление дубликатов строк. По нажатию на стоп - останавливается. Функция поиска дубликатов - в Worker'е.
Хочу сделать вот так:
Код:
addEventListener('message', function(e) {
	if (e.data.cmd) switch (e.data.cmd) {
		case 'del_dupl':
			del_dupl_start(e.data.data);
			break;
		case 'del_dupl_stop':
			duplStop = true;
	}
}, false);
duplStop проверяется в функции del_dupl_start. Если true, то функция останавливается.
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 22.07.2015, 17:28   #14
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Цитата:
Большой список. По нажатию кнопки запускается функция удаление дубликатов строк
если он такой большой
1. зачем выводить его клиенту?
2. не проще ли (и правильней ?) сделать это на сервере?
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 22.07.2015, 20:31   #15
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

Цитата:
Сообщение от nerv Посмотреть сообщение
если он такой большой
1. зачем выводить его клиенту?
2. не проще ли (и правильней ?) сделать это на сервере?
1. Потому что надо . Человек сам его загружает или генерирует.
2. Зачем загружать этим сервер? Согласен, что через сервер, может, и правильнее, но в данном случае надо на стороне клиента, т.к. сервер (а точнее, виртуальный хостинг) не очень мощный. И ещё через сервер сложнее сделать обратную связь а-ля прогресс-бар (по крайней мере, я не знаю как по-простому).
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru

Последний раз редактировалось 7in; 22.07.2015 в 20:34.
7in вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где поставить DoEvents VistaSV30 Microsoft Office Access 2 26.08.2010 13:25
перестыл работать DoEvents ytzm2hsD3X0HVxwl Microsoft Office Excel 4 03.12.2009 07:03