@JSlang

Страница 1987 из 2237
Анатолий
17.06.2018
16:52:39
Но самое странное тут push внутри map

Эх, когда-то map использовали для маппинга массивов в массивы, а теперь им просто заменяют фор и забывают, что вообще-то он по-прежнему может маппить :)

Google
Alex
17.06.2018
16:57:41
Спасибо!

Анатолий
17.06.2018
17:42:48
во!
Хм, то ли лыжи не едут, но у меня чот не взлетело :) Я как мог упростил код - и вот вопрос. Почему он возвращает промис? await (async words => await words.map(async word => word))(['apple'])

мап гоняет массив через асинхронную функцию, но авейт должен дождаться, пока он всё прогонит и вернуть массив?

Анатолий
17.06.2018
17:46:45
зачем у тебя еще один уровень await?
Ну ок. Смотри, (['apple']).map(async word => word) возвращает промис. Но почему await (['apple']).map(async word => word) тоже возвращает промис

У меня такое впечатление, что где-то в процессе чтения мана меня укусил комар и я моргнул на пару минут, пропустив полпараграфа

Roman
17.06.2018
17:48:32
чет да, я не догоняю

Анатолий
17.06.2018
17:49:12
Короче пошло всё в жопу, я просто обернул всё в Promise.all и стало ок ? Интуицию не подведёшь

Но надо будет покопать, наверное это неправильно

Roman
17.06.2018
17:49:30
аххах мда

Google
Roman
17.06.2018
17:49:47
то есть тебе надо сделать асинхронный мап

то есть допустим у тебя есть айдишки, ты их хочешь обменять на инфу, но не одним запросом а каждый своим

Анатолий
17.06.2018
17:51:42
Ну да, я думал, что мап асинхронно мапит своей асинхронной функцией и возвращает асихронно массив, но на самом деле каждый элемент массива замаплен асинхронной функцией, стало быть мап должен вернуть массив промисов

Roman
17.06.2018
17:51:56
мап не ждет. И мап тут не уместен
а как тогда сделать? допустим у меня есть ['apple', 'banana'] и я к каждому элементу хочу применить функцию setTimeout(v => v, 100)

Анатолий
17.06.2018
17:52:37
dima
17.06.2018
17:53:23
а как тогда сделать? допустим у меня есть ['apple', 'banana'] и я к каждому элементу хочу применить функцию setTimeout(v => v, 100)
у тебя все применится. Проблема не в этом. Проьлема в том что применится сразу.

а если друг за другом то не прокатит

Roman
17.06.2018
17:53:41
не не надо друг за другом

получается действительно проще Promise.all

https://medium.com/@ian.mundy/async-map-in-javascript-b19439f0099

вот короче статья

Анатолий
17.06.2018
17:55:00
Roman
17.06.2018
17:55:01
ну да, все верно, в мапы попадают "промисы"

Анатолий
17.06.2018
17:55:14
Надеюсь, меня тут не подвесят за яйца, но мне нравится такой слип :)

Google
Анатолий
17.06.2018
17:55:49
С вами был филиал про.жс.нубс ))

const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); await someAsync(); await sleep(200); await anotherAsync();
Но надо учесть, что в отличие от классического таймаута, где запускается отдельный поток кода, в этом все чинно-благородно ждут 200 миллисекунд и потом продолжают. То есть это не тождественная замена

То есть не получится запустить по такому таймауту 10 функций одновременно. Они исполнятся друг за другом

Это именно слип, а не таймаут в его привычном виде. Подождём заданное время и дальше продолжим

Roman
17.06.2018
17:58:07
ну короч все ясно, такая конструкция вернет массив промисов, каждый из которых отрезолвится в то, что нам надо поэтому просто весь мап надо завернуть в await Promise.all

- у тебя есть моя инфа? - лучше! у меня есть промис на твою инфу!

Roman
17.06.2018
18:00:12
ты о чем. Какая контсрукция
(['apple']).map(async word => word)

Анатолий
17.06.2018
18:00:33
ну короч все ясно, такая конструкция вернет массив промисов, каждый из которых отрезолвится в то, что нам надо поэтому просто весь мап надо завернуть в await Promise.all
Так я и сделал, вот что получилось fetchLayersInfo = async layers => Promise.all(await layers.map( async layer => (await client .query({ query: egipApi.gql.queries.layers.Layer, variables: { layerId: layer, withGeojson: true } })).data["layer"][0] )); Мокается успешно :)

Изящно, но нечитаемо конечно

dima
17.06.2018
18:01:07
Alex
17.06.2018
18:03:54
Профи, спасибо вам огромное!

Alex
17.06.2018
19:08:29
друзья всем привет

мне тут кидают файлик js в тг ... типо интервью :D

вот паста https://pastebin.com/bJQ1RUBh она безопасная

чем бы ее разобрать ?

специально пасту скинул что б файл не кидать

Google
Roman
17.06.2018
19:10:53
какова задача?

FantoM
17.06.2018
19:12:24
Alex
17.06.2018
19:12:32
интересно че внутре

FantoM
17.06.2018
19:12:46
Alex
17.06.2018
19:13:43
сорри если это как то нарушает правила или задело чьи то чувства, просто вспомнил что есть такой чат и тут профи, может быть кому просто будет интересно посмотреть что внутри

Roman
17.06.2018
19:14:48
ничего не нарушает, я просто не понял вопроса

Admin
ERROR: S client not available

Roman
17.06.2018
19:15:59
интересно, что в строковых переменных? это можно развернуть. интересно, что делает этот код? это уже головняк, но кажется есть инструменты

Alex
17.06.2018
19:16:17
Вопрос: что делает этот код?

Под рукой нет безопасной среды, есть может какие онлайн сервисы где можно это запустить и подебажить?

Roman
17.06.2018
19:17:12
http://jsnice.org/

но ничо внятного сходу не поймешь. тут и правильно написанный код такого размера надо читать и обдумывать, а если все перемешано, то ради интереса это мало кто будет делать

Michael
17.06.2018
19:30:07
Бутстрап4. Есть 8 кнопок в btn-group. Есть класс на full-width формат?

Анатолий
17.06.2018
19:33:22
но правда они работают на твоём же браузерном джаваскрипте

vh1nder
17.06.2018
21:09:40
Кодеры?

Денис
17.06.2018
21:16:24
Бухгалтеры.

Вишневый чай
17.06.2018
21:35:41
(и не только)

Сергей
17.06.2018
22:00:08
codepen.io jsfiddle.com
ещё есть codesandbox

Google
Анатолий
17.06.2018
22:37:16
О, точно нода же. Чистая песочница)

Yan
18.06.2018
00:18:10
Есть repl.it, там есть node.js
Засыпает инстанс?

Есть с этим проблема почти везде и только zeit норм можно выставить 1 бесплатный скейл чтоб не засыпал инст

Для ботов/парсеров/сервисов це беда

Касается только бесплатных вариантов ессна

Tauka
18.06.2018
02:18:15
Всем привет, у кого нибудь бывало что Array.prototype.sort дает разный ответ на один и тот же аррай? Наблюдал в хроме такое

FUTURICO
18.06.2018
03:39:45
Может дело в функции?)

Tatiana
18.06.2018
04:24:20


Кто может помочь?

Konstantin
18.06.2018
04:32:16
казалось бы, причём тут JS

bulbazavr1k
18.06.2018
04:51:28
Кек

Скажи преподам, чтобы сами на VBA работали

Tauka
18.06.2018
05:06:19
Может дело в функции?)
Разве какая бы она ни была, главная чистая, не должна давать один и тот же ответ, на разные итерации?

Вишневый чай
18.06.2018
05:07:45
Засыпает инстанс?
Да нет, причем тут, смотрите на что отвечаю

bulbazavr1k
18.06.2018
05:15:11
ребят? что мне гуглить? нужно поиск по колекции. всех элементов в которых есть выбранная строка

типо find

Страница 1987 из 2237