Показать сообщение отдельно
  #2 (permalink)  
Старый 09.04.2015, 18:39
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от theKingOfJava
 
Регистрация: 31.03.2015
Сообщений: 113

Лично я обычно структурирую код примерно вот так:
File={
 create: function(path){var o=Object.create(this); o.path=path; return o},
 read: function(){fs.readFile(this.path, "ascii", function(err, data){this.data=data; this.on()}.bind(this))}
}

file=File.create("tmp")
file.on=function(){console.log(this.data)}
file.read()


// ::: foo

То есть, на основе событийной модели, и ООП. Никакая псевдосинхронность тут не нужна, все и так понятно. Если тебе нужна синхронность в асинхронном коде -- значит архитектура твоего приложения -- говно, не надо трахать мозг себе и людям. В асинхронном приложении никакого последователного кода не может быть в принципе, нужна синхронизация событий, а не псевдосинхронность. Это мое ИМХО.
Ответить с цитированием