
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

Andrey
18.09.2018
17:25:20

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

Andrey
18.09.2018
17:29:28

Oleg
18.09.2018
17:29:33

Евгений
18.09.2018
17:31:11

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

Евгений
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);
не запусал код возможно описка где-то

Oleg
18.09.2018
17:46:39

Евгений
18.09.2018
17:47:01

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

Евгений
18.09.2018
18:22:21

Avion
18.09.2018
18:27:01

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

Евгений
18.09.2018
18:34:21

Google

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

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

Vanya
18.09.2018
18:45:22

Admin
ERROR: S client not available

Avion
18.09.2018
18:45:36

Vanya
18.09.2018
18:46:21

Gorro
18.09.2018
18:46:59

Vanya
18.09.2018
18:48:43

Евгений
18.09.2018
18:48:51

Gorro
18.09.2018
18:48:55

Евгений
18.09.2018
18:49:50

Avion
18.09.2018
18:50:33

Евгений
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

Roman
18.09.2018
19:24:41
я думаю как-то так
пока ждет первый await - второй запрос тоже идет

Андрей
18.09.2018
19:25:50
(это не Хуан ли Миро на майке? )))
до того как увидел его картины думал, что не понимаю живопись )

Roman
18.09.2018
19:26:58

Евгений
18.09.2018
19:33:04

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

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