Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запутался в замыканиях (https://javascript.ru/forum/misc/22627-zaputalsya-v-zamykaniyakh.html)

why.not? 26.10.2011 23:51

Запутался в замыканиях
 
Здравствуйте.
Проблема, вроде-бы, элементарная, однако я что-то не могу сходу понять, что я упустил. Код тут:
http://jsfiddle.net/sc0rp10/ft6cG/1/
По примеру: в алерте должно быть John, но никак не Undefined
Спасибо

kobezzza 26.10.2011 23:56

Не в замыкании дело, а в асинхронности, ты же AJAX используешь

why.not? 27.10.2011 00:06

и?
http://jsfiddle.net/sc0rp10/ft6cG/2/ - так тоже не очень всё работает. Или ты о чём-то другом? Как мне из коллбека вытолкнуть локальные переменные "наверх"?

zebra 27.10.2011 01:59

Цитата:

Сообщение от nasqad
window.setTimeout(function(){x.doAnother();}, 5000)


doAnother вызван window = this

:no:
why.not?, функция doSmth не будет дожидаться ответа от сервера, она сразу отправит запрос и вернёт ret(который равен undefined). А сам get запрос придёт чуть позже. Поэтому вам нужно в doSmth передать callback функцию, которая будет вызвана после получения ответа на гет запрос :write:


Часовой пояс GMT +3, время: 19:36.