Показать сообщение отдельно
Старый 31.05.2014, 16:46   #6
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Выполнение кода JavaScript в безопасном окружении

Потому что планируется в этой песочнице выполнять полностью синхронный код. Хотя сам принцип действия воркеров асинхронен как я понял. Ещё непонятно, почему контексты воркера и функции запущенной через setTimeout отличаются:
onmessage=function(e){
        
        
console.log(this); // [object DedicatedWorkerGlobalScope]
        
for(var key in this){
            
console.log(key);
        }
        
        
setTimeout(function(){
            
console.log(this); // [object global]
            
for(var key in this){
                
console.log(key);
            }
        },
0);
        
    } 
Причём оба контекста, судя по их итерации, подобно window содержат список глобальных функций (setTimeout и прочие). Получается, воркер и порождённый им таймаут выполняются в двух различных глобальных контекстах?

Кстати, а как в node.js с воркерами? Я хотел бы код, совместимый с node.js в идеале.
(Offline)
 
Ответить с цитированием