История изменений
Исправление proud_anon, (текущая версия) :
никакие промайсы
Не промайсы, а промисы. От слова /ˈpɹɑmɪs/
Сколько не размышлял - никакие промайсы (раньше я их не косался) тут не помогут.
Тут тебе ничего не поможет.
Джаваскрипт по природе однотредовый. Поэтому «дожидаться исполнения кода» не нужно: если начала исполняться следующая строчка, то предыдущая строчка закончила исполнться. А с глобальным состоянием код мог сделать что угодно: он ведь мог не только начать XmlHttpRequest, но и создать объекты где-нибудь какие-нибудь, поставить таймер и так далее. Он мог сохранить где-нибудь замыкание, и тогда даже фрейм функции beforeRemoving ещё будет существовать.
Ты пытаешься не «дождаться окончания исполнения функции» (она закончит исполняться до вызова remove), а «дождаться, когда исчезнут все результаты работы этой функции», а это задача скорее для философов.
Так что просто расскажи пользователю в документации, чего в этой функции beforeRemoving НЕ должно быть, и всё.
Исправление proud_anon, :
никакие промайсы
Не промайсы, а промисы. От слова /ˈpɹɑmɪs/
Сколько не размышлял - никакие промайсы (раньше я их не косался) тут не помогут.
Тут тебе ничего не поможет.
Джаваскрипт по природе однотредовый. Поэтому «дожидаться исполнения кода» не нужно и невозможно. А с глобальным состоянием код мог сделать что угодно: он ведь мог не только начать XmlHttpRequest, но и создать объекты где-нибудь какие-нибудь, поставить таймер и так далее. Он мог сохранить где-нибудь замыкание, и тогда даже фрейм функции beforeRemoving ещё будет существовать.
Ты пытаешься не «дождаться окончания исполнения функции» (она закончит исполняться до вызова remove), а «дождаться, когда исчезнут все результаты работы этой функции», а это задача скорее для философов.
Так что просто расскажи пользователю в документации, чего в этой функции beforeRemoving НЕ должно быть, и всё.
Исходная версия proud_anon, :
никакие промайсы
Не промайсы, а промисы. От слова /ˈpɹɑmɪs/
Сколько не размышлял - никакие промайсы (раньше я их не косался) тут не помогут.
Тут тебе ничего не поможет.
Джаваскрипт по природе однотредовый. Поэтому «дожидаться исполнения кода» не нужно и невозможно. А с глобальным состоянием код мог сделать что угодно: он ведь мог не только начать XmlHttpRequest, но и создать объекты где-нибудь какие-нибудь, поставить таймер и так далее. Он мог сохранить где-нибудь замыкание, и тогда даже фрейм функции beforeRemoving ещё будет существовать.
Ты пытаешься не «дождаться окончания исполнения функции» (она закончит исполняться до вызова remove), а «дождаться, когда исчезнут все результаты работы этой функции», а это задача скорее для философов.
Так что просто расскажи пользователю в документации, чего в этой функции beforeREmoving НЕ должно быть, и всё.