Иногда мне случается, что я хочу получить значение переменной или сделать что-то с элементом DOM сразу при загрузке страницы, но я получаю только неопределенную ошибку переменной, даже внутри функции document.ready.
<script type="text/javascript">
const socket = io.connect('https://192.168.0.114:8080', {secure: true});
console.log(socket.id); //get undefined
</script>
Я подозреваю, что это потому, что функция (или документ, в зависимости от случая) еще не была полностью загружена, потому что, если я обращаюсь к переменной в setInterval () с несколькими секундами задержки, выполняется правильно. Но это кажется мне неправильным и неточным способом обойти проблему. Это простой пример (я знаю о socket.on('connect', () => {})
), но чаще это происходит с вызовами ajax или http, которые, очевидно, требуют времени для выполнения.
Как правильно выполнить функцию сразу после завершенияпредыдущего?
PD: извините за гугл переводчик. & спасибо