Итак, я пишу приложение с использованием RequireJS и Socket.io, которое проверяет, доступен ли ресурс socket.io, а затем при подключении загружает приложение. В случае, когда socket.io когда-либо временно опускается, я бы хотел, чтобы несколько раз запрашивал запрос на ресурс для ресурса, пока он не будет доступен, а затем продолжите инициализацию приложения.Опрос по ресурсу, доступному с RequireJS
К сожалению (или, может быть, к счастью?) Кажется, что существует какой-то механизм кеширования, требующий регистрации скриптов для сценариев, которые не загружаются, так что если вы выполняете setTimeout в обратном вызове ошибки, , require будет продолжать выдавать ошибки, даже когда ресурс становится доступным.
Является ли это надзором или есть причина для сохранения этой ошибки? Что еще более важно, есть ли временное решение, позволяющее потребовать ретроспекцию?
Вот пример того, что я пытался:
function initialize() {
require(['socketio', function(io) {
io.connect('http://localhost');
app._bootstrap();
}, function(err) {
console.log(err);
setTimeout(initialize, 10000);
});
}
Понятно, что это скорее концептуальный вопрос, но я быстро обновил сообщение. – zigzackattack
Socketio отображается в нужном месте в моем require.config. Причина, по которой мой скрипт доступен, заключается в том, что приложение запускается внутри Drupal (на apache), но зависит от услуги node/socket.io, и я уверен, что это произойдет. Это не обязательно, но я подумал, что было бы здорово, если бы приложение запустилось в браузере, как только сервер узлов вернется (если он зашел, когда пользователь пришел на страницу). – zigzackattack