@JSlang

Страница 2157 из 2237
Vanya
18.09.2018
17:21:27


не получается

то что на 15 строчке - показывает

а на 21 - null

Google
Vanya
18.09.2018
17:22:31


Максим
18.09.2018
17:23:19
а на 21 - null
21 строка выполняется быстрее чем выполнится функция в 19 строке

Andrey
18.09.2018
17:23:56
Vanya
18.09.2018
17:24:06
да, я думал , мб ajax асинхронный, то не получает еще данных

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

Максим
18.09.2018
17:25:19
Учи что такое асинхронность.
ну не так выразился

Vanya
18.09.2018
17:28:11
но loadHunlder это же коллбек и если он выполнился, значит имеет data(в консоле выводтся), почему тогда я не могу data поместить в переменную

Oleg
18.09.2018
17:29:33
но loadHunlder это же коллбек и если он выполнился, значит имеет data(в консоле выводтся), почему тогда я не могу data поместить в переменную
можешь хоть что там сделать. если нужно в window записать, то просто пишешь window.<название переменной> = <данные>

Vanya
18.09.2018
17:31:13


Google
Vanya
18.09.2018
17:31:30


не получается

Евгений
18.09.2018
17:32:10
да потому что ты проверяешь раньше чем запрос выполнился

Даже консоль тебе подсказывает что сначала вывелось то то на 21 строке а потом уже то что на 15.

Vanya
18.09.2018
17:35:32
да выводится 1 3 2

так а как мне поменять порядок

Евгений
18.09.2018
17:36:59
никак .... ты не от того видешь ...... тебе надо дождаться загрузки твоих данных.

Oleg
18.09.2018
17:38:24
так а как мне поменять порядок
в самом простом варианте использовать данные в коллбэке loadHandler. там берешь и обрабатываешь их как надо. а если нужно в нескольких местах использовать, то там уже сложнее

Vanya
18.09.2018
17:40:03
в самом простом варианте использовать данные в коллбэке loadHandler. там берешь и обрабатываешь их как надо. а если нужно в нескольких местах использовать, то там уже сложнее
да да , это понял. Возник какраз вопрос как его использовать в других местах, поэтому и хочу поместить в глоб. переменную

Евгений
18.09.2018
17:40:55
ну так ты и проверяй в хендлере что они там есть) профит)

причем это был даже не сарказм)

Vanya
18.09.2018
17:42:13


типо такого

или коллбек в колбеке

я уже запутался

Евгений
18.09.2018
17:45:16
твой код не ждет пока мотод Load загрузит данные .... поэтому там undefined если ты подолждешь то тогда получишь свои данные function loadHandler(data) { window.test = data; } window.backend.load(loadHandler, console.log); setTimeout(function() { console.log(window.test); }, 1000); не запусал код возможно описка где-то

Евгений
18.09.2018
17:47:01
это некорректный вариант. данные могут придти через 1.5 секунды
Это для обучения зато наглфдно понятно что через врем там что то да есть)

Vanya
18.09.2018
17:47:41
я понял

работает

Google
Vanya
18.09.2018
17:47:57
но так не нужно делать

=D

Евгений
18.09.2018
17:48:06
да да верно)

Vanya
18.09.2018
17:48:50
спасибо, я начал понимать

но а как по другому сделать правильно, я хз

видимо какой-то другой механизм используют

Евгений
18.09.2018
18:04:38
но а как по другому сделать правильно, я хз
Обычно ajax данные нужны более локально.... скажем загружаешь список постов и из хендлера их передаешь функцие которая обновит их на странице и все. в глобольные переменные данные не помещают.

Vanya
18.09.2018
18:06:10
ну точно

я пому объеденить логигу других модулей в 1 и использовать

могу*

в конкретном модуле вызывать ajax и использовать

Евгений
18.09.2018
18:12:37
Честно не понял о чем ты) но твой пример глобальный так что его можно использовать во всех скриптах загруженых после него.

Avion
18.09.2018
18:14:14
Подскажите, где можно найти реализацию сборщика БЭМ-блоков

Vanya
18.09.2018
18:21:14
Честно не понял о чем ты) но твой пример глобальный так что его можно использовать во всех скриптах загруженых после него.
у меня есть 2 модуля show-card и render-card , я их могу объединить в 1 например card просто и использовать их функции через onLoad. Просто если использовать его в 2 модулях, то и запрос данных одних и тех же будет запрашиваться 2раза.

Евгений
18.09.2018
18:22:21
Подскажите, где можно найти реализацию сборщика БЭМ-блоков
В беме особо не силен, но разве не достаточно просто лоадера для webpack скажем?

Avion
18.09.2018
18:27:01
В беме особо не силен, но разве не достаточно просто лоадера для webpack скажем?
Юзаю gulp, но не суть. Мне нужно просто посмотреть код скрипта компоновки. Штука примитивная, но не могу найти примеры кода.

Vanya
18.09.2018
18:32:48
Делаю учебный проект, при нажатии на определенную метку , должна выводится карточка с данными. В render-card есть функция которая принимает объект и разбирает его данные, формируя карточку, а show-card показывает карточку



Евгений
18.09.2018
18:34:21
Юзаю gulp, но не суть. Мне нужно просто посмотреть код скрипта компоновки. Штука примитивная, но не могу найти примеры кода.
О галп) а то его тут обижают)) Не очень понял) просто вбрашеь рандомный плагин для бем и смотришь примеры....... там только БЕМ чисто по стилям или с JS вместе?

Google
Gorro
18.09.2018
18:37:51
А что наставники говорят? :D

Евгений
18.09.2018
18:38:00
хотя вообще лучше хоят бы обьеденить

Vanya
18.09.2018
18:45:22
Ну и в чем тогда проблема? подвязываешься на click делаешь запрос и в callBack передаешь данные в первую или вторую функцию)
Теперь я вижу несколько вариантов как можно решить, просто практики не хватает. А весь код, что писал привел меня к тому, что нужно засунуть данные в глобальную переменную и уже ее передавать ее в другие модули.

Admin
ERROR: S client not available

Avion
18.09.2018
18:45:36
О галп) а то его тут обижают)) Не очень понял) просто вбрашеь рандомный плагин для бем и смотришь примеры....... там только БЕМ чисто по стилям или с JS вместе?
Gulp справляется с поставленными перед ним задачами) Рандомный плагин еще нужно найти, я думал, может тут у кого нибудь есть. БЭМ естественно по верстке, стилям и js

Vanya
18.09.2018
18:46:21
А что наставники говорят? :D
на интенсив не записывался, сам делаю по лекциям в записи

Gorro
18.09.2018
18:46:59
на интенсив не записывался, сам делаю по лекциям в записи
Тот жс, который я видел у них немного форсированный, да)

Евгений
18.09.2018
18:48:51
Gorro
18.09.2018
18:48:55
Avion
18.09.2018
18:50:33
Ну конекретный плагин не могу подсказать ищи каки то стартеры или https://github.com/iamstarkov/gulp-bem-stub или вот хотя бы
Конкретный и не нужен, все равно буду переписывать под свои задачи. За ссылку спасибо, пошел разбирать)

Евгений
18.09.2018
18:51:46
Ну в нем вроде более менее понятно) хотя вот таска html с первой строки настораживает))

Андрей
18.09.2018
19:17:09
про авэйт и порядо я имел в виду другое. одна девочка в видео говорит, что можно (нужно) сначала определить 2 переменные - фетча, а потом их обе авэйтить, а не наоборот. и что в этом случае запросы как раз будут выполняться параллельно безо всяких Промис.алл, несмотря на то, что выше товарищи утверждали, что параллельные запросы никак асинками не реализуешь. а насчет удобства - у меня не жс, мне все равно в интероп придется лезть и обертки писать, и я написал удобные обертки над промисами - ада не чувствую

Roman
18.09.2018
19:22:36
не будет так работать все равно

а хотя может и будет

Андрей
18.09.2018
19:23:16
у меня нет причин не доверять девочке )

Roman
18.09.2018
19:23:20
ну это некрасиво как-то выглядит

Андрей
18.09.2018
19:23:22
хотя сам не проверял )

Google
Roman
18.09.2018
19:23:27
да согласен, работать будет

Евгений
18.09.2018
19:23:30
про авэйт и порядо я имел в виду другое. одна девочка в видео говорит, что можно (нужно) сначала определить 2 переменные - фетча, а потом их обе авэйтить, а не наоборот. и что в этом случае запросы как раз будут выполняться параллельно безо всяких Промис.алл, несмотря на то, что выше товарищи утверждали, что параллельные запросы никак асинками не реализуешь. а насчет удобства - у меня не жс, мне все равно в интероп придется лезть и обертки писать, и я написал удобные обертки над промисами - ада не чувствую
Не уверен что правльно понял суть но : тут вот в чем дело, так как асинхронная функция по сути просто функция возвращающая Promise если результат запросов не важен можно просто вызвать обе функции акак asyncFunction(); asyncFunction(); И запросы пойдут паралельно но извлечь результаты увы нельзя. а вот в случае await Promize.All([asyncFunction(), asyncFunction()]); результатом будет массив с данынми)

Андрей
18.09.2018
19:24:34
видео на 3 минуты всего, что делается с извлеченными данными показано на последнем скрине кода https://www.youtube.com/watch?v=fyXwqtynKpA

Андрей
18.09.2018
19:25:50
(это не Хуан ли Миро на майке? )))

до того как увидел его картины думал, что не понимаю живопись )

Roman
18.09.2018
19:26:58
(это не Хуан ли Миро на майке? )))
возможно, майка из Мадрида. может просто под стиль

Евгений
18.09.2018
19:33:04
const a = fetch() const b = fetch() const res1 = await a const res2 = await b
ну в принципе так да.... так может вполняться. просто это как то не совсем наглядно может быть. И такое лучше явно указвать

Roman
18.09.2018
19:34:01
та да, мне тоже не нравится такая запись

нужен синтаксис типа awaitAll

и awaitAny

Андрей
18.09.2018
19:34:37
вот именно эта ненаглядность мне и не нравится помимо всего прочего, поэтому сижу на промисах )

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