@JSlang

Страница 321 из 2237
Ilya
08.11.2016
09:25:49
Ничего не сделаешь, надо что-то придумать.

hlomzik
08.11.2016
09:25:58
Весь код у тебя выполняется синхронными кусками. Нужно определять начало каждого куска и за ним следить. В этом случае внутри setTimeout код синхронный, и с ним можно работать обычными методами

Делать обертки, например

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:26:53
Весь код у тебя выполняется синхронными кусками. Нужно определять начало каждого куска и за ним следить. В этом случае внутри setTimeout код синхронный, и с ним можно работать обычными методами
setTimeout - это эмуляция работы сторонней либы (если конкретно - подключения AMD модуля, который может завершиться неудачей и плюнуть в тебя ошибкой)

Google
hlomzik
08.11.2016
09:26:53
неправда, они вечером здесь
Черт! Нечаянная двусмысленность)

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:27:11
Я никак не могу повлиять на работу require

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:27:23
Amd умеет же отлавливать ошибки
Не в связке с webpack, походу

hlomzik
08.11.2016
09:28:25
Не в связке с webpack, походу
require.ensure? Обычный require вообще не выполняется напрямую. И он типа синхронный.

Ilya
08.11.2016
09:29:15
А почему require?

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:29:21
Ilya
08.11.2016
09:29:26
АААА

Хм...

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:29:53
Асинхронная динамическая загрузка модуля

через AMD синтаксис

Ilya
08.11.2016
09:30:05
Пони.

Google
Дмитрий
08.11.2016
09:30:47
setTimeout - это эмуляция работы сторонней либы (если конкретно - подключения AMD модуля, который может завершиться неудачей и плюнуть в тебя ошибкой)
Промис должен возвращать свое состояние let loaded; let test = new Promise((resolve, reject) => { try { loaded = require('module'); resolve(true); // состояние ОК } catch (error) { reject(error); .. состояние с ошибкой } });

hlomzik
08.11.2016
09:30:55
require(['./folder/' + filename.js], function (module) { resolve(module); })
Это вебпак так умеет? Или это require.js?

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:31:30
Это вебпак так умеет? Или это require.js?
Это вебпак так умеет, да. Он из этих модулей отдельные куски бандла собирает, а потом их грузит по требованию

Дмитрий
08.11.2016
09:31:55
Ну вот а он берёт и не возвращает, как же быть-то?
Попробовать объяснить и помочь человеку?

Ilya
08.11.2016
09:32:06
Ну это не его либа, в этом проблема.

Человек-то понял что так нельзя.

Ilya
08.11.2016
09:32:25
Но это надо идти к автору либы и пояснять ему за правду этой жизни.

hlomzik
08.11.2016
09:32:48
Это вебпак так умеет, да. Он из этих модулей отдельные куски бандла собирает, а потом их грузит по требованию
Посмотри, что там с обработкой ошибок в этом варианте подключения. И отлавливай

Ilya
08.11.2016
09:32:59
А что за проблема тогда, я не понимаю? Есть промис, он делает throw, хотя промисы так не должны. Или я упустил где-то что-то?

Дмитрий
08.11.2016
09:39:10
Не прокатит. Require в данном случае асинхронный
let loaded; let test = new Promise((resolve, reject) => { try { loaded = require('lalalalala'); resolve(true); } catch (error) { reject(error) } finally { } }); test .then(() => console.log('Well done!')) .catch(error => { console.error('Ouch! Error!'); }); Нода 7, нормально так словил ошибку в кэтче

Но реквайр нативный, а не сторонняя библиотека

JetFightzer ?
08.11.2016
09:41:19
И попилить чатики, но тогда будет разброд
чатик-треды, а что, вполне норм

Dreamerinnoise
08.11.2016
09:42:46
Это вебпак так умеет? Или это require.js?
https://webpack.github.io/docs/code-splitting.html

не туда ответил xD

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:48:44
let loaded; let test = new Promise((resolve, reject) => { try { loaded = require('lalalalala'); resolve(true); } catch (error) { reject(error) } finally { } }); test .then(() => console.log('Well done!')) .catch(error => { console.error('Ouch! Error!'); }); Нода 7, нормально так словил ошибку в кэтче
не прокатит. require в данном случае синхронный, поэтому try/catch нормально отработает. В случае же асинхронного require всё идёт прахом. В этом-то и боль...

Google
Дмитрий
08.11.2016
09:50:48
не прокатит. require в данном случае синхронный, поэтому try/catch нормально отработает. В случае же асинхронного require всё идёт прахом. В этом-то и боль...
когда мы боимся асинхронности let loaded = false; let test = Promise.resolve(); test .then(() => require('undefined-module')) .then(loadedModule => { loaded = loadedModule; console.log('Well done!') }) .catch(error => { console.error('Ouch! Error!'); }); Но если в сторонней библиотеке реально в промисе стоит таймаут с throw и все, то тут подобные конструкции с промисами действительно бесполезны

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:54:19
Да ёпта. Промис мой, а вот require внутри - это подключение модуля через AMD. Де факто, таймаут с ошибкой из моего примера - это эмуляция неудачной загрузки модуля (модуль не найден или ещё какая-то фигня случилась)

Serhii
08.11.2016
09:54:44
Промис в промисе

Iaroslav ¯\_(ツ)_/¯
08.11.2016
09:55:44
Тимур
08.11.2016
09:56:01
Ребзя

Порекомендуйте книжку

Знаю плюсы

Хочу js подучить

Для перехода так скажем

Serhii
08.11.2016
09:56:53
Выразительный JavaScript

Тимур
08.11.2016
09:56:57
Курсы мб

Oleg
08.11.2016
09:57:02
learn.javascript.ru

Serhii
08.11.2016
09:57:27
А что сподвигло перейти с плюсов на js?

Тимур
08.11.2016
09:58:35
Web

))0)

Nikolay
08.11.2016
09:59:29
Порекомендуйте книжку
Рекомендую еще это. Не совсем про js, но сразу поворачивает мозг в правильном направлении :) https://github.com/MostlyAdequate/mostly-adequate-guide

Evjeni
08.11.2016
09:59:52
Порекомендуйте книжку
http://xa.us.to/cppsp/documentation.cppsp

Serhii
08.11.2016
10:00:04
Правильном направлении?

Тимур
08.11.2016
10:00:17
Думаю выразительный js над на оригинале чттать

Google
Тимур
08.11.2016
10:00:33
Кто нить кодит на эйфелле?

Nikolay
08.11.2016
10:00:48
Правильном направлении?
Предвзято, согласен :)

Serhii
08.11.2016
10:01:12
Ещё рекомендую курсы на Hexlet

Admin
ERROR: S client not available

Nikolay
08.11.2016
10:01:14
Но книга и правда хорошая.

Ilya
08.11.2016
10:06:17
Такой вопрос, товарищи ПРО. На js как-то можно миксить одно видео на другое при условии что на верхнем будет грин-скрин?

Или какие-нибудь либы которые занимаются продвинутым видео-вуду.

Ilya
08.11.2016
10:12:06
Таргет - браузер.

К сожалению.

Юнити-хуюнити не вариант, разбираться ради этого с вебгл и прочими весёлыми штуками нет времени. :^(

http://www.sciencelifeny.com/transparency/transparency.html# Хотя вон, тут чёт есть.

Serhii
08.11.2016
10:19:49
https://jsfiddle.net/1xz6wgxq/2/ а так?

Iaroslav ¯\_(ツ)_/¯
08.11.2016
10:21:09
https://jsfiddle.net/1xz6wgxq/2/ а так?
я не могу так сделать. Ещё раз говорю, Всё, что происходит с setTimeout и внутри него я не могу изменять или контролировать

Он в примере вставлен как эмуляция

Serhii
08.11.2016
10:21:21
ну стой

Iaroslav ¯\_(ツ)_/¯
08.11.2016
10:21:29
Считай его black box

Serhii
08.11.2016
10:21:39
твоя асинхронная функция должна какой-то ивент или что-то вроде того возвращать?

ты ничего не сможешь сделать не имея возможности как-то отловить асинхронный resolve/reject

Google
Serhii
08.11.2016
10:22:47
ну или callback должен быть

Iaroslav ¯\_(ツ)_/¯
08.11.2016
10:23:37
твоя асинхронная функция должна какой-то ивент или что-то вроде того возвращать?
В случае чистого AMD там синтаксис такой: require([...dependencies], successFunction(...dependencies) {...}, errorFunction() {...});

Serhii
08.11.2016
10:23:49
ну от

Iaroslav ¯\_(ツ)_/¯
08.11.2016
10:23:58
вот в рамках Webpack errorFunction почему-то не работает

Serhii
08.11.2016
10:25:01
https://jsfiddle.net/1xz6wgxq/3/

Iaroslav ¯\_(ツ)_/¯
08.11.2016
10:26:01
https://jsfiddle.net/1xz6wgxq/3/
Если бы всё было так просто - я бы тут не страдал уже битый час))

Ладно

Пойду ещё порою носом доку по вебпаку

Serhii
08.11.2016
10:26:36
это уже нужно смотреть почему не работает errorFunction в Webpack

И исходя из этого что то думать

hlomzik
08.11.2016
11:24:41
вот в рамках Webpack errorFunction почему-то не работает
если не работает, то ничего нормального не сделать. можно извращаться через таймауты и проверки, например.

а вообще писать в вебпак и спортлото

https://github.com/webpack/webpack/issues/758

Chunk loading error handling fixes #692 fixes #758 fixes #686 fixes #785 master (#861) v2.1.0-beta.25 … v2.0.0-beta

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