Показать сообщение отдельно
  #27 (permalink)  
Старый 19.08.2011, 10:02
Аспирант
Отправить личное сообщение для RUVATA Посмотреть профиль Найти все сообщения от RUVATA
 
Регистрация: 08.02.2011
Сообщений: 41

PS: кстати по поводу NODE.js я погорячился setTimeout и setInterval работают точно так-же ... виноват... зато callback-и прерывают выполнение как и ожидается
var events = require("events");
var emitter = new events.EventEmitter; // создаём генератор
var someText = '';

// задаём обработчик пользовательского события "event1"
emitter.on("event1", function(data) {
    if(){}
	someText = someText + '-Async-'
});

for(var i = 0; i < 20; i++){
 someText = someText + '-MainThead-';
 emitter.emit("event1");
}

console.log(someText)

...
PPS: Вы безусловно правы ВСЕ... вы описываете реальное положение вещей. НО ЭТО НЕ АСИНХРОННОСТЬ !
Нельзя функцию с отложенным вызовом называть асинхронной. Это просто функция с отложенным вызовом и не более того.
Асинхронно - это не синхронно... то есть код будет выполняться в одном потоке но в смешанном режиме, по крайней мере такова асинхронность в низкоуровневом программировании.
когда выполнение двух функции (func1 и func2) в асинхронном режиме выглядит как-то так:
Выполняется инструкция из func1
Выполняется инструкция из func2
Выполняется инструкция из func1
Выполняется инструкция из func2
Выполняется инструкция из func2
Выполняется инструкция из func1
и т.д.
(правила скрещивания обусловлены платформой, ресурсами под инструкцию и т.д.)
они не паралельны, но и не синхронны... они асинхронны.

Здесь-же мы наблюдаем псевдоасинхронность...
Ответить с цитированием