Web Workers - возможна ли передача в поток строки кода JS 
		
		
		
		почитал пару статей на тему WW 
	и понял что создается поток так: 
var worker = new Worker('worker.js');
в конструктор передается адрес скрипта вопрос - можно ли конструктору передавать полный текст скрипта - 
new Worker('скрипт')
new Worker(eval(x))
смысл в том что есть задача генерировать код для потоков программно, без обращения к файловой системе и к серверу без использования статического когда js например уже загруженного в теле документа  | 
	
		
 можно сделать Blob и передать на него ссылку. 
	https://developer.mozilla.org/en-US/...ng_web_workers параграф Embedded workers  | 
	
		
  | 
	
		
 спасибо товарищи. но мне надо понятнее и на русском, чтобы самому сделать а не изучать чужие фреймворки 
	 | 
	
		
 Цитата: 
	
 
var code = 'postMessage(123);';
var blob = new Blob([code],{type: "text/javascript"});
var ref = URL.createObjectURL(blob);
var worker = new Worker(ref);
worker.onmessage = function (oEvent) {
    alert("data from worker: " + oEvent.data);
};
URL.revokeObjectURL(ref);
 | 
	
		
 спасибо. но вторую половину не понял, строки 4-8 
	поясни пожста чо это  | 
	
		
 Цитата: 
	
 5-7 - механизм обмена данными с воркером, здесь он для демонстрации работы и к теме отношения не имеет. 8 - убиваем ссылку на блоб, чтобы не повисла и не было утечек памяти.  | 
	
		
 тут основная идея как раз в строках 2-3, для их осознания раскури html5 FileAPI 
	 | 
	
		
 
var code = 'postMessage(123);';
var blob = new Blob([code],{type: "text/javascript"});
var ref = URL.createObjectURL(blob);
var worker = new Worker(ref);
.....
URL.revokeObjectURL(ref);
- то есть такова обязательная последовательность спасибо  | 
	
		
 Цитата: 
	
 но ничож более знать-то не надо для запуска и работы в таком режиме ? я могу просто вставить такой кусок кода и всё - готовое решение ? не ?  | 
	
		
 Цитата: 
	
 
function workerFromCode(code) {
   var blob = new Blob([code],{type: "text/javascript"});
   var ref = URL.createObjectURL(blob);
   var worker = new Worker(ref);
   URL.revokeObjectURL(ref);
   return worker;
}
Цитата: 
	
 содержит внутри себя массив байтов. Может быть отправлен на сервер через XHR, сохраняться в FileSystem, либо применяться как источник данных (вместе с URL createObjectURL/revokeObjectURL) для src картинок, фреймов, href ссылок - т.е. вместо ссылки на серверный http-ресурс  | 
	
		
 спасибо! 
	если знаком с многопоточным программированием на десктопе - скажи, какая разница есть принципиальная  | 
	
		
 Цитата: 
	
 воркеры - это чисто вычислительные потоки, лишенные доступа к UI. для взаимодействия с UI они используют очередь сообщений основного потока, закидывая туда команды функцией postMessage и получая оттуда команды через onmessage - этот механизм эквивалентен виндовой "очереди сообщений", в которую попадают события для окон.  | 
	
		
 Цитата: 
	
 
function foo() {
    ...
}
var blob = new Blob([foo.toString()], {type: "text/javascript"});
 | 
	
		
 Цитата: 
	
 отсутствие перечисленных штуковин чего лишает меня в жизни? что я без них совсем не смогу сделать и жизнь моя на десктопе будет печальной то есть если я на десктопе обойдусь архитектурой из js Цитата: 
	
  | 
	
		
 Цитата: 
	
 навскидку трудно специально придумать. проще взять конкретный сценарий и разобраться - можно его реализовать только через очередь сообщений, или нет.  | 
	
		
 получается - js в плане вычислений и интерфейса не уступает дестктопным приложениям ?? 
	 | 
	
		
 Цитата: 
	
 Насчет интерфейса - да, в современных браузерах не уступает (тут скорее надо говорить о html и особенно css), ну кроме всяких там иконок в трее и т.п. А вообще этот момент холиварный, и на форумах вроде "просто треп" (на sql.ru) всегда вызывает срач до потолка :) у веб-интерфейса основные недостатки - слабая поддержка устройств (типа сканера), буфера обмена, и прочих системных штук.  | 
	
		
 Цитата: 
	
  | 
	
		
 здесь я говорю не о сферическом js в вакууме, а о связке технологий, хтмл5 
	это сложившийся фундамент веб приложений, ассемблер  | 
	
		
 Цитата: 
	
  | 
	
		
 сомневаюсь я что нода это верный путь развития человечества... 
	 | 
| Часовой пояс GMT +3, время: 10:06. |