Size: a a a

JavaScript Noobs — сообщество новичков

2020 December 26

И

Илья in JavaScript Noobs — сообщество новичков
Denys
Сейчас я с Вангой свяжусь, она мне код скинет и что-то прикинем
Ты самолюбие своё потешить пришел ?
источник

A

Aziz in JavaScript Noobs — сообщество новичков
источник

a

allpeg in JavaScript Noobs — сообщество новичков
check this admin ping 😱😱😱👆👆
источник

a

allpeg in JavaScript Noobs — сообщество новичков
Vitaliy
Добрый вечер, подскажите почему срабатывает именно в такой последовательности
p.then( function(){
   p.then( function(){
       console.log( "C" );
   } );
   console.log( "A" );
} );
p.then( function(){
   console.log( "B" );
} );
// A B C
then - это микротаски они становятся в конец выполнения текущего тика цикла событий, почему последовательность не A C B?
для начала перепишем код на точно такой же
function fc() {
   console.log("C");
}
function fa() {
   p.then(fc);
   console.log("A");
}
function fb() {
   console.log("B");
}
p.then(fa);
p.then(fb);

Сначала выполняются p.then(fa);, p.then(fb);, они кидают fa и fb в микротаск-очередь
после чего в микротаске выполняется fa (который кидает в микротаск-очередь fc) и fb
ну и потом fc
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
Илья
Есть какой-то способ сделать так, чтобы событие resize не вызывалось так часто?
debounce
источник

И

Илья in JavaScript Noobs — сообщество новичков
Я смотрел такой вариант, но там требуется переменая за пределами функции
источник

V

Vitaliy in JavaScript Noobs — сообщество новичков
allpeg
для начала перепишем код на точно такой же
function fc() {
   console.log("C");
}
function fa() {
   p.then(fc);
   console.log("A");
}
function fb() {
   console.log("B");
}
p.then(fa);
p.then(fb);

Сначала выполняются p.then(fa);, p.then(fb);, они кидают fa и fb в микротаск-очередь
после чего в микротаске выполняется fa (который кидает в микротаск-очередь fc) и fb
ну и потом fc
спасибо очень доступно, не сообразил сам)
источник

D

Denys in JavaScript Noobs — сообщество новичков
Илья
Ты самолюбие своё потешить пришел ?
Так ты больше информации дай, а то на такие сообщения кофе не запастись, чтобы гадать на гуще
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
Илья
Я смотрел такой вариант, но там требуется переменая за пределами функции
нет
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
это обертка над функцией
источник

V

Vitaliy in JavaScript Noobs — сообщество новичков
allpeg
для начала перепишем код на точно такой же
function fc() {
   console.log("C");
}
function fa() {
   p.then(fc);
   console.log("A");
}
function fb() {
   console.log("B");
}
p.then(fa);
p.then(fb);

Сначала выполняются p.then(fa);, p.then(fb);, они кидают fa и fb в микротаск-очередь
после чего в микротаске выполняется fa (который кидает в микротаск-очередь fc) и fb
ну и потом fc
а первое выполнение всего кода index.js к примеру это будет первая макрозадача грубо говоря? если там есть setTimeout они будут как макрозадачи и станут в конец цыкла событий, а then микротаски которые станут в конец очереди задач в конец первого тика (макрозадачи выполнение index.js)?
источник

D

Denys in JavaScript Noobs — сообщество новичков
Ему нужно, чтобы не так часто вызывалось, а debounce исполнит 1 раз
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
тогда throttle
источник

D

Denys in JavaScript Noobs — сообщество новичков
Тут скорее нужно плясать от вьюпорта
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
но дебаунс для ресайза логичнее, как мне кажется
источник

D

Denys in JavaScript Noobs — сообщество новичков
И то не факт
источник

D

Denys in JavaScript Noobs — сообщество новичков
Anton Permyakov
но дебаунс для ресайза логичнее, как мне кажется
Но смотря, что нужно
Сейчас мы гадаем
источник

н

николай in JavaScript Noobs — сообщество новичков
Илья
Я смотрел такой вариант, но там требуется переменая за пределами функции
создай таковую
источник

И

Илья in JavaScript Noobs — сообщество новичков
Denys
Но смотря, что нужно
Сейчас мы гадаем
Тротл подойдет
источник

a

allpeg in JavaScript Noobs — сообщество новичков
Vitaliy
а первое выполнение всего кода index.js к примеру это будет первая макрозадача грубо говоря? если там есть setTimeout они будут как макрозадачи и станут в конец цыкла событий, а then микротаски которые станут в конец очереди задач в конец первого тика (макрозадачи выполнение index.js)?
всмысле "всего кода"? Код выполняется последовательно. То что ниже (в моём примере console.log("First");) выполнится первым, т.к. оно выполняется даже не в микротаске а синхронно

вот, выведет First,1,2,3,Last

var p = Promise.resolve(true);
setTimeout(() => console.log("Last"));
function fc() {
   console.log("C");
}
function fa() {
   p.then(fc);
   console.log("A");
}
function fb() {
   console.log("B");
}
p.then(fa);
p.then(fb);
console.log("First");
источник