Сергей delphinpro, получается только файлы с типом модуль не обьявляют свои переменные глобально и их можно получить только через импорт и только в таких же файлах с типом модуль, но при этом видят все остальные, которые в глобальной видимости в обычных файлах?
Сергей delphinpro, получается в модуле я ее могу вызвать только через window, а просто без виндоу выдаст ошибку?
Где про эту тему почитать можно?
На сколько я понял, когда читал про модули, то при обьявлении типа модуль, мы создаем закрытую область видимости в которую можно только импортом что-то засунуть, а другие подключенные файлы в странице будут игнорироваться и можно использовать любые имена без возможности изменить их в других файлах.
Если у меня один файл module, а второй обычный
Я же не могу так просто взять и сделать для файла с типом модуль видимыми переменные в виндов с обычного js файла?
Как при запуске func err поймет, что она ошибка?
Если мы явно укажем, как указывали ранее, err -> new Error, то всегда будет срабатывать вариант с ошибкой, тюею else
Можно пожалуйста в fiddle с двумя примерами, где сработает ошибка, а где нет, а то код вроде не изменился.
Просто здесь вы явно указываете в последних примерах, new Error.
А как это сделать так, чтобы мы не указывали, а это за нас сделала наша проверка в if уже.
Я не совсем просто понимаю, как правильно подкрутить new Error в аргумент в виде не new Error, чтобы он вечно не отрабатывал на ошибку, что она якобы есть.
Как вообще Error попадает в err?
А точнее, где и как вызывается функция, что она выбирает параметры аргументов.
Ведь вызвав через таймаут - мы уже вызывали функцию и не передали туда изначально Error, а если передали, то всегда же будет отрабатывать if (err) т.е. замкнутый круг.
Роман, шла речь о функции, которая сработает не сразу, а через время, что не позволит трай кетч отработать ошибку и если наша функция выдаст ошибку, то всё закрашится, но мы должны ее вызвать или написать так, что если она выдаст ошибку (которая убьет процесс), мы обработаем эту ошибку на подобии того, как я попытался это сделать, через new Error на подобии того, как работают модули в ноде, где первым аргументом идет ошибка.
После этих слов я сам не понимал, где от меня ждут эту обработку ошибки и завис.
На что мне накидали примерный вид, который я повторил, но он не совсем правильно работает, как вы сами убедились.
Роман, меня как-то просили написать функцию в которой обрабатывается ошибка, если она произойдёт, чтобы не остановить код.
В примере мне дословно показали, что примерно так нужно писать, но, как видите, у меня не очень получилось.
Я хочу написать функцию, которая без трай кетч сможет обработать ошибку, если эта функция выдаст ошибку при ее запуске.
Это задание было на собеседовании и его решение было такое, какое я выше написал, но оно не работает и я не понимаю, что там имели в виду или может я что не так понял и не так переписал.
И почитать про это тоже негде, в разделе про Error там и близко подобного примера нет.
Есть предположение, что err должен быть в аргументе cb.
Роман, так я хочу в элс выводить ошибку, если она у меня выпадет.
А щас у меня всегда срабатывает, что ошибка есть, даже, когда в коде ее нет, а только лишь, как новый экземпляр в аргументе.
Т.е. срабатывает всегда обработка ошибки, даже, когда у нас ее не было бы без new Error