Size: a a a

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

2021 January 29

D

David in JavaScript Noobs — сообщество новичков
Ришат
Вместо classList input.type верно понял ?
Input type смена типа инпута , а класс лист позволяет добавлять /удалять/тогглить классы
источник

OJ

Oleg Junior in JavaScript Noobs — сообщество новичков
Макс
всех приветствую.

Стоит такая задача:
У меня есть функция, в которой я должен отослать запрос, и если ответ придет по типу погоди еще немного, выполнить эту же функцию через какое-то время (при этом всем, код не должен идти дальше, пока не выполнится эта функция). И так до тех пор, пока не придет нужный мне ответ.

Постарался это сэмулировать (где вместо запроса стоит первый таймер). Но нужного результата так и не получил (то функция моментально что-то возвращает, то в then не заходит, то еще какие-либо причуды. Можете подсказать решение проблемы?
куда вернется результат ?
источник

Р

Ришат in JavaScript Noobs — сообщество новичков
David
Input type смена типа инпута , а класс лист позволяет добавлять /удалять/тогглить классы
Я знаю что класслист меняет только класс, просто не знаю что использовать в замен ему
источник

М

Макс in JavaScript Noobs — сообщество новичков
Oleg Junior
куда вернется результат ?
по идее, он же должен из промиса вернуться?
источник

М

Макс in JavaScript Noobs — сообщество новичков
на данный момент, с такой реализацией, просто возвращается undefined. Моя логика из-за промисов иногда покидает чат
источник

j

jk in JavaScript Noobs — сообщество новичков
Макс
по идее, он же должен из промиса вернуться?
Из промиса "возвращается" то что передано в функцию resolve.
источник

j

jk in JavaScript Noobs — сообщество новичков
А из коллбека для setTimeout при помощи return ничего вернуть нельзя.
источник

М

Макс in JavaScript Noobs — сообщество новичков
звучит логично, но тогда я вообще потерял идею реализации)
источник

ЖС

Женя Саенко... in JavaScript Noobs — сообщество новичков
Макс
звучит логично, но тогда я вообще потерял идею реализации)
А зачем у тебя там вообще промисы если сама функция async?
источник

OJ

Oleg Junior in JavaScript Noobs — сообщество новичков
Макс
звучит логично, но тогда я вообще потерял идею реализации)
в том then можно еще один промис забацать и вернуть, ничего страшного, а в колбеке таймауте резолве сделать по таймауту. следующий then уже обработает твой новый промис и сработает когда твой новый промис по таймауту срезолвится. я бы так попробовал
источник

М

Макс in JavaScript Noobs — сообщество новичков
Oleg Junior
в том then можно еще один промис забацать и вернуть, ничего страшного, а в колбеке таймауте резолве сделать по таймауту. следующий then уже обработает твой новый промис и сработает когда твой новый промис по таймауту срезолвится. я бы так попробовал
я могу лишь вам сказать от души душевно в душу) Не знаю, почему изначально промис в then решил не вставлять)
источник

ЖС

Женя Саенко... in JavaScript Noobs — сообщество новичков
Макс
я могу лишь вам сказать от души душевно в душу) Не знаю, почему изначально промис в then решил не вставлять)
Попробуй все же с async/await написать) Выглядеть будет 100крат проще)
источник

М

Макс in JavaScript Noobs — сообщество новичков
не спорю, но я в таком случае не смогу проверить, завершился ли таймаут или нет
источник

М

Макс in JavaScript Noobs — сообщество новичков
он же асинхронно работает, а await на него не действует
источник

j

jk in JavaScript Noobs — сообщество новичков
Макс
не спорю, но я в таком случае не смогу проверить, завершился ли таймаут или нет
Промисифицируй.
источник

OJ

Oleg Junior in JavaScript Noobs — сообщество новичков
Макс
не спорю, но я в таком случае не смогу проверить, завершился ли таймаут или нет
можешь просто вспомогательную функцию написать
function sleep(time){
     return new Promise((resolve)=>setTimeout(resolve,time)
   )
}

а внутри асинхронной функции await sleep(1000);
источник

AS

Andrew Summers in JavaScript Noobs — сообщество новичков
Вот такой wrapper используется для всех modules в node.js - https://i.imgur.com/n7ijF9B.png. Я не очень понимаю синтаксис. ДОлжно же быть вроде как-то так:

function functionName( ) {
}
А здесь как-то непонятно. То есть, непонятно следующее:

1) почему нет названия у функции
2) почему есть круглуе скобки вокруг нее.

Спасибо за ответы!
источник

j

jk in JavaScript Noobs — сообщество новичков
Andrew Summers
Вот такой wrapper используется для всех modules в node.js - https://i.imgur.com/n7ijF9B.png. Я не очень понимаю синтаксис. ДОлжно же быть вроде как-то так:

function functionName( ) {
}
А здесь как-то непонятно. То есть, непонятно следующее:

1) почему нет названия у функции
2) почему есть круглуе скобки вокруг нее.

Спасибо за ответы!
Может имелось в виду IIFE, но не дописали?
источник

А

Алена in JavaScript Noobs — сообщество новичков
Ребята, подскажите пожалуйста.
Нужно вставить скрипты в зависимости от размера экрана.
В этом скрипте таймер.
Я попробовала разные варианты, но что то не выходит каменный цветок...

https://codepen.io/manager350/pen/VwmwpLy
источник

OJ

Oleg Junior in JavaScript Noobs — сообщество новичков
Andrew Summers
Вот такой wrapper используется для всех modules в node.js - https://i.imgur.com/n7ijF9B.png. Я не очень понимаю синтаксис. ДОлжно же быть вроде как-то так:

function functionName( ) {
}
А здесь как-то непонятно. То есть, непонятно следующее:

1) почему нет названия у функции
2) почему есть круглуе скобки вокруг нее.

Спасибо за ответы!
это IIFE называется. так commonJS модули реализованы в ноде. IIFE ( анонимная самовызывающаяся функция ) инкапсулирует в себе код модуля. а скобочки это просто синтаксис iife
источник