24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 05/06/21 Суб 17:15:17 #1 №248232881 
47b80a93c4010ff074c758b82b0d51f3.png
code.png
Сап, 2ch, я пробую писать JavaScript приложение для 2ch, но я клинический имбецил и не могу разобраться, как писать асинхронный код на JavaScript

На втором пике есть одна функция, она должна по итогу вернуть массив с некоторыми данными, но возвращает она пустой массив.
Как я понимаю, проблема в том, что функция возвращает массив data до того, как в него добавятся данные, но как вернуть массив после выполнения всех этих циклов, в результате которых данные и должны там образоваться, я категорически не понимаю

Анончик, памаги!
Аноним 05/06/21 Суб 17:16:17 #2 №248232944 
бамп
Аноним 05/06/21 Суб 17:16:44 #3 №248232975 
бамп
Аноним 05/06/21 Суб 17:16:46 #4 №248232976 
>>248232881 (OP)
Скачай книгу - javascript шаблоны.
Выучи шаблон - pub/sub. Ебашь все на событиях
Аноним 05/06/21 Суб 17:17:06 #5 №248233001 
бамп
Аноним 05/06/21 Суб 17:17:26 #6 №248233027 
>>248232881 (OP)
Ну все правильно.
Попробуй console.log(boards) сунуть перед циклом
Аноним 05/06/21 Суб 17:18:57 #7 №248233146 
>>248232881 (OP)
Блядь, какой уебищный язык сделали и испоганили божественный es2015
Аноним 05/06/21 Суб 17:19:02 #8 №248233156 
>>248232881 (OP)
А ты await-ишь то, что вернула функция?
Подобавляй отладочного вывода, посмотри, что у тебя функции API возвращают.
Аноним 05/06/21 Суб 17:20:12 #9 №248233231 
>>248233156
> ты await-ишь то, что вернула функция
Он же написал, что массив возвращается.
Если бы не awaitил, то вернулся бы промис
Аноним 05/06/21 Суб 17:20:13 #10 №248233233 
>>248232881 (OP)
getListOfBoardThreads и getPostsFromThisThread это асинхронные функции (объявлены с async?)
Аноним 05/06/21 Суб 17:20:28 #11 №248233252 
>>248233146
jQuery developer, ты?
Аноним 05/06/21 Суб 17:21:56 #12 №248233359 
>>248233252
Пишущий в один файл, ты?
Аноним 05/06/21 Суб 17:24:00 #13 №248233511 
>>248233252
Что ты имеешь против шаблона pub/sub?
Аноним 05/06/21 Суб 17:25:14 #14 №248233584 
>>248232881 (OP)
ES5 - мидл в треде. У меня если что-то не получается или что-то не понятно, я пишу на C++ и компилирую в WebAssembly. Попробуй, может поможет.
Аноним 05/06/21 Суб 17:27:37 #15 №248233747 
>>248232881 (OP)
console.log, мать твою, ты слышал о нем?
Втыкаешь на каждой строчке и смотршь, что происходит.
Аноним 05/06/21 Суб 17:28:52 #16 №248233819 
>>248233511
Ну собсна только то, что он приводит к callback-hell
Аноним 05/06/21 Суб 17:30:16 #17 №248233910 
>>248232881 (OP)
for await of погугли
Аноним 05/06/21 Суб 17:30:52 #18 №248233955 
>>248233910
for await of используется для асинхронных генераторов.
Аноним 05/06/21 Суб 17:31:55 #19 №248234024 
>>248233955
конструкция async await это и есть генератор
Аноним 05/06/21 Суб 17:34:03 #20 №248234178 
>>248233233
Да, они асинхронные
Аноним 05/06/21 Суб 17:35:34 #21 №248234284 
>>248234178
Ну тогда дебаггер или console.log, а лучше и то и другое. Ну и может быть такой вариант, что сервер двача просто не отдает инфу налево.
Аноним 05/06/21 Суб 17:36:13 #22 №248234328 
>>248233747
>>248233027
>console.log()

Да все уже проверил, все что нужно там происходит, просто функция возвращает массив data до того, как обработает информацию и соберет данные в этот самый массив
Аноним 05/06/21 Суб 17:36:25 #23 №248234343 
>>248234024
Ошибаешься.
Аноним 05/06/21 Суб 17:37:12 #24 №248234397 
>>248232881 (OP)
Не совсем шарю совсем не шарю, но может возвращать данные когда они есть или пользователь что то запостил? В моем представлении это так работает как то
Аноним 05/06/21 Суб 17:38:41 #25 №248234481 
>>248234328
Попробуй не через async await, а через промис и .then
Аноним 05/06/21 Суб 17:39:40 #26 №248234554 
>>248234397
Неправильный подход. Придется потом выполнять проверку на наличие данных, а так как у ОПа выполнять её не требуется, он просто пройдет циклом по пустому массиву (т.е. ничего не сделает)
Аноним 05/06/21 Суб 17:40:45 #27 №248234624 
>>248234343
а я ебанько, что бы так итерироватся нужно целую ебу с итератором дополнительно писать
Аноним 05/06/21 Суб 17:44:20 #28 №248234857 
>>248234554
Потом? Если есть данные отлично - записали, если нету - то стопэ, при появлении новых записали новые. Ну это я представляю просто сохранение треда, надо бы ещё проверку на бамплимит
Аноним 05/06/21 Суб 17:54:29 #29 №248235546 
>>248233819
Причем тут callback hell и событийная модель? Дальше можешь не отвечать, вижу что ты не разбираешься в вопросе, а тратить свое время на школьника я не буду.

Кратко по тебе - ты хуесос который захотел по умничать без каких либо знаний.
Причем тут вложенность друг в друга и событийная модель? Хуесосина?

Ты вообще в курсе, хуесосина малолетка что винда, линус, symfony, yii2 и прочие фреймворки на этой модели работают? Потому-что без нее никак вообще.
Она охуенная, но ты хуесосина тупорогая не понимаешь этого, потому-что даже не читал про нее.

Просто иди нахуй чмо необразованное.
Сейчас в js идут всякий сброд, по типу бомжей, дети маргиналов и прочий биомусор по типу этого хуесоса.

Денег захотелось? А вот хуй тебе, такие как я тебя выгонят нахуй на первом же собесе
Аноним OP 05/06/21 Суб 17:56:47 #30 №248235693 
code.png
Снимок экрана 2021-06-05 в 17.56.40.png
Что-то непонятно, кажется, что функция таки способна возвращать не пустой массив, но только в том случае, если вызывать ее без параметров.

Чувствую себя еще большим олигофреном, потому что теперь я совсем ничего не понимаю, ни почему эта функция все-таки работает, ни почему она возвращает пустой массив, если таки передать параметры
Аноним 05/06/21 Суб 17:57:57 #31 №248235780 
>>248235693
ПоПрОБуЙ ЧеРеЗ ПрОмИс
Аноним OP 05/06/21 Суб 17:59:01 #32 №248235849 
>>248235780
Как и зачем?
Аноним 05/06/21 Суб 18:00:34 #33 №248235951 
>>248232881 (OP)
Выбрось нахуй свои зумерские авэйты, и юзай обсерваблы как белый человек.
Аноним 05/06/21 Суб 18:01:22 #34 №248236018 
>>248235546
>винда, линус, symfony, yii2
Какое отношение они имеют к js?
Если ты на Js будешь писать клиента через pub/sub ws и sse не учитываю, то в любом случае придешь к calback-hell.
Аноним 05/06/21 Суб 18:01:31 #35 №248236037 
>>248235849
Чтобы убедиться, что весь код выполняется последовательно. Всю работу с полученными данными запихиваешь внутрь .then(). Таким образом, если с сервера не пришли данные они не обрабатываются.
Не придется 10 лет сидеть и думать что не так.
Опционально можно по ходу пробросить исключение, чтобы понять, где конкретно фейл.
Аноним 05/06/21 Суб 18:02:07 #36 №248236087 
>>248235693
Сделай console.log(data) перед return data;
Аноним OP 05/06/21 Суб 18:05:46 #37 №248236361 
code.png
Снимок экрана 2021-06-05 в 18.05.06.png
Сделал
Аноним OP 05/06/21 Суб 18:06:14 #38 №248236394 
>>248236087
>>248236361

Аноним OP 05/06/21 Суб 18:07:10 #39 №248236463 
Снимок экрана 2021-06-05 в 18.06.53.png
>>248236361
Аноним 05/06/21 Суб 18:07:24 #40 №248236481 
>>248236018
>>248235951
>>248235849
>>248235546
>>248234397
>>248233955
>>248233584

Охуенная, массив скачай совсем, надо функция тебе пустой хуесос не не они а если итерироватся генератор?
Аноним 05/06/21 Суб 18:07:32 #41 №248236497 
>>248236018
Даун не в курсе что любое действие на клиентской стороне и есть событийная модель.
Ты когда изменяешь окно или мышкой кликаешь это тоже событие, дауненок.
Коллбек хелл это вложенность друг в друга, а события так не работают, потому-что у них свое хранилище чмоха тупая. И ты можешь выделить область для каждого набора событий и хранить их раздельно по тематике. Но ты тупой слишком для этого так что можешь нахуй пойти.

Вышел из треда. С говном общаться себя не уважать. А говно - потому-что споришь без знаний в место того чтобы слушать то чего тебя хуесосу не научат даже за деньги
sageАноним 05/06/21 Суб 18:09:53 #42 №248236678 
> es6+
>три цикла
>for of
Обоссать бы тебя.
Аноним OP 05/06/21 Суб 18:15:14 #43 №248237052 
Я понял в чем была проблема - в том, что я тупой в том, что я вызывал getData(), передавая первым параметром пустой массив, а когда я вызывал данную функцию без параметров, тогда в первый параметр добавлялось значение из конфига, и все поэтому работала.
Почему-то я решил, что пустой массив так же будет подменяться на массив из конфига

Я потратил на это целый день, целый день с девяти утра я не мог понять, в чем ошибка
Аноним OP 05/06/21 Суб 18:15:52 #44 №248237092 
>>248236678
Что не так? Я только вкатываюсь
Аноним 05/06/21 Суб 18:17:58 #45 №248237223 
>>248236018
Какие же хохлы дегенераты.

Калбек хел - это когда у тебя а.саб(б.саб(ц.саб(д.саб(...)))) и все это в ВОЙД блеать.

А когда у тебя а = мерж(х,у,й).свитчмап(...), б = комбайн(а, хуй, пизда, джигурда).фильтр(...), ц = б.мап(...) - то это ваще НЕ калбек и НЕ хел, а самые обычные чейнящиеся переменные.
Аноним 05/06/21 Суб 18:18:37 #46 №248237265 
>>248232881 (OP)
Тоже в первый раз залип, сама логика-то понятно, долго в реализации разбирался. Благо смог уйти с вебопараши.
Аноним 05/06/21 Суб 18:23:09 #47 №248237595 
>>248236497
>Ты когда изменяешь окно или мышкой кликаешь это тоже событие, дауненок.
при всем уважении, ты думаешь, что yii2 движок продолжает отслеживать действия пользователя после загрузки страницы? То-есть у тебя пшп выполнился и продолжает выполняться?
Аноним 05/06/21 Суб 18:23:41 #48 №248237631 
>>248236678
>>for of
что нитак ебанашка?
Аноним 05/06/21 Суб 18:33:21 #49 №248238295 
16199752728380.png
>>248237595
>Какое отношение они имеют к js?
>Ты когда изменяешь окно или мышкой кликаешь это тоже событие, дауненок.
Пидорас пытается маневрировать, смотрите.

>yii2 движок продолжает отслеживать действия пользователя после загрузки страницы?

В фонд золотых цитат. Пидорас пытается передергивать. Там события работают в момент исполнения как и в вордпрессе.

Вот что бывает когда потомственная пидорашка лезет в IT
Аноним 05/06/21 Суб 18:42:44 #50 №248238962 
Для того, чтобы стать программистом недостаточно иметь лишь голову на плечах. Сначала нужно стать человеком, который сможет использовать мощь компьютера. Не главным среди галок и ворон, которые обитают в его бездонной глотке. Нет. Главное - заставить машину слушаться. Непробиваемый ломоть золота, который ты тащишь в мире повседневности. Уметь вовремя остановиться и оглянуться, прикинуть, куда, в какую сторону стоит нести этот сказочный ломоть. Суметь не потерять равновесия на скользком гребне везделета, подняться к самому небу, а не рухнуть на дно непомерной высоты, разбив ненавистную маску благодушия и уверенности в себе. Суметь понять, что глаза растут не из носа. Нужно быть очень осторожным.
Аноним 05/06/21 Суб 19:06:35 #51 №248240681 
Попробуй Promise.all(boards.map((board)=>Api2ch...)
sageАноним 05/06/21 Суб 19:18:25 #52 №248241553 
>>248237631
Есть более современные и лаконичные способы перебора массива, уёбище необучаемое. А тебе, дауну со вложенными циклами, я обоссываю ебало. Не благодари.
sageАноним 05/06/21 Суб 19:19:12 #53 №248241607 
>>248240681
> Попробуй Promise.all(boards.map((board)=>Api2ch...)
Двачую
comments powered by Disqus

Отзывы и предложения