Javascript Создать новую "тему" - PullRequest
       0

Javascript Создать новую "тему"

24 голосов
/ 10 сентября 2011

Это «поток» в соответствии с javascript, но код, похоже, не соответствует традиционной поточной модели.

Можно ли сделать этот код более понятным в отношении концепции потока?

function test() {
    alert("Test");
}

// this creates a new "thread," but doesn't make much sense to the untrained eye
setTimeout(test, 0); 

Есть ли какой-нибудь другой способ ответвления?

1 Ответ

32 голосов
/ 10 сентября 2011

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

Чтобы сделать код более понятным, вы можете создать функцию со значимым именем, которое делает то же самое:

function executeAsync(func) {
    setTimeout(func, 0);
}

executeAsync(function() {
    alert("Test");
});

Если вы хотите иметь реальные темы, взгляните на веб-работников .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...