Цитата:
|
Цитата:
|
Цитата:
|
Асинхронное - я так понимаю, основанное на событиях, где нет четкого распорядка выполнения команд. но в нашем примере (10раз подряд вывести что-то, ключевое как раз и есть - подряд, по порядку). Было б логично и получить результат в нужном порядке )
|
Keramet,
таймаут -- это тоже событие. Ваши коллбеки выстреливают по этому событию. Просто в js дохрена подковерной возни и противоречивый синтаксис. |
Keramet,
Чтобы проще было это понять, представьте себе, что у нас есть объект таймаут Timeout.setTimeout(callback) //В объект таймаут записывется некий слот, скажем, onTimeout = callback // а где то на уровне реализации по событию таймаута движок вызывает этот коллбек onNextTick = function(){Timeout.onTimeout()} Вот так все реально и происходит, просто многое скрыто от ваших глаз, и это приводит к непоняткам. |
в примере с выводом 10, можно считать вывод числа 2 функцией обратного вызова (ФОВ) к выводу числа 1; вывод 3 - ФОВ от вывода 2 и т.д.?
|
Цитата:
|
Keramet,
Вы как бы говорите движку: Когда событие наступит вызови вот эти коллбеки. |
Возможно я не совсем корректно выразился:
что такое функция обратного вызова - это функция, которой передаётся управление только после того, как полностью закончит свою работу вызвавшая её функция. правильно? Я поэтому и спросил, можно ли считать (хотя бы образно), что вывод числа 2 (будем образно считать вывод числа 2 функцией обратного вызова) должен произойти только после того, как произойдет вывод числа 1 (а вывод числа 1 - это функция, по окончанию работы которой вызывается наша ФОВ). Вух - ни и заплёл я - надеюсь, смысл понятен ;) |
Часовой пояс GMT +3, время: 10:45. |