@zeni1agent

Как правильно построить очередность выполнения кода?

У меня есть три файла js
<div class="image"><img src="fg.jpg"></div>
1
$('.image').load(function(){
  alert ('2'); 
 });

2
alert ('1');
3
$('document').ready(function(){
alert ('3'); 
});

Все они расположены в таком порядке а очередность выполнения кода выводит alert()
Проблема в том что load() не хочет запускать код без очистки кеша браузера ctrl+shift+r
А также если я поставлю код до тега img
Выводит только если я укажу
$('document').ready(function(){
$('.image').load(function(){
  alert ('2'); 
 });
 });

Но тогда код выполняется дважды и это мне не подходит.
Какую мне поставить очередность выполнения кода что бы они все работали правильно ?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
@zeni1agent Автор вопроса
Я не знаю изо чего .load в jqury вызывается дважды но проблему я смог устранить только когда вместо
.load использовал .onload из js
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mazhekin
@mazhekin
Frontend, Backend Web Developer
Заверните в промисы и устанавливайте очередность какую пожелаете.
image$ = new Promise((resolve) => {
 $('.image').load(() => {
  alert ('2'); 
  resolve();
 });
});

alert1$ = new Promise(
(resolve) => {
 alert(1); resolve();
})

alert3$ = new Promise....

// желаемую очередность установите тут
image$.then(() => { 
 return alert1$;
}).then(() => {
 return alert3$;
}).then(() => {  });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы