JavaScript YUI3 с использованием глобальных переменных? - PullRequest
3 голосов
/ 17 мая 2011

Я не могу понять, как обновить глобальную переменную из YUI3.

Рассмотрим следующий код:

window.myVariable = 'data-one';
var yuiWrap = YUI().use('node',function(Y) {
  console.log(window.myVariable); // 'data-one'
  window.myVariable = 'data-two';
  console.log(window.myVariable); // 'data-two'
});
console.log(window.myVariable); // 'data-one'

Кто-нибудь может мне это объяснить?Это доставляет мне много хлопот.Почему доступ к window.myVariable возможен, но не обновляется должным образом из блока YUI3?

Я думаю, что он может иметь отношение к Закрытиям , но я не понимаю, почему Закрытия должны применяться кглобальный "оконный" объект.

Справка?

1 Ответ

4 голосов
/ 17 мая 2011

Обратный вызов запускается не сразу, а после того, как что-то произошло:

Присоединяет один или несколько модулей к экземпляру YUI.Когда это выполняется, требования анализируются, и может произойти одно из следующих действий:

  • Все требования доступны на странице - Модули прикреплены к экземпляру.Если указан, обратный вызов use выполняется синхронно.
  • Модули отсутствуют, утилита Get недоступна ИЛИ конфигурация bootstrap имеет значение false - выдается предупреждение о пропавших модулях, и все доступные модули прикреплены.
  • Модули отсутствуют, Загрузчик недоступен, но утилита Get - и Boostrap не имеет значения false - Загрузчик загружается до выполнения следующих действий ....
  • Модули отсутствуют иЗагрузчик доступен - Загрузчик раскрывает дерево зависимостей и выбирает отсутствующие модули. Когда загрузчик завершен, обратный вызов, предоставленный для использования, выполняется асинхронно.
...