Базовый вариант использования. У меня есть глобальная переменная, в которой я храню удаленные данные. Если данных нет, я хочу загрузить их изначально, дождаться их загрузки и продолжить обработку. Я действительно не хочу использовать синхронный процесс, если мне не нужно.
Рассмотрим что-то вроде этого, где _companies является глобальной переменной ...
if (_companies === undefined || _companies.length == 0) {
loadExternalData();
}
// do something with the data in _companies
Я чувствую, что упускаю что-то очевидное. Я понимаю, что могу назвать async = false, но это похоже на обрыв. Я мог бы также поместить весь код в блок в функцию, сделать if..else, а затем вызвать функцию из loadExternalData (), а также в моем операторе else, но опять-таки это похоже на обрыв. Кажется, я должен быть в состоянии обернуть всю эту вещь в обратный вызов, но я не знаю, как это сделать.