Size: a a a

🐘PHPStorm TIPS & TRICKS

2020 December 22

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Yuri Kizilov
Это порнография if (reason !== STOP_ERROR) {

Наследуй объект ошибки и сравнивай instanceof
У ошибки-одиночки идентификатор объекта совпадает, условие пройдёт на ура
источник

YK

Yuri Kizilov in 🐘PHPStorm TIPS & TRICKS
Не пройдет поскольку в таком случаи всегда будет === у двух объектов ошибки
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Yuri Kizilov
Не пройдет поскольку в таком случаи всегда будет === у двух объектов ошибки
Поэтому у меня и создаётся ошибка-одиночка)
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Yuri Kizilov
Не пройдет поскольку в таком случаи всегда будет === у двух объектов ошибки
Это условие работает, ошибка не в нём. Какого-то фига, как я понимаю, при создании (не бросании) экземпляра ошибки в Promise и отсутствии у него с ходу catch-а в консоль бросает сообщение об этом. Хз будет ли это влиять на работу кода далее. Возможно стоит просто забить на сообщение или таки есть способ сделать что бы оно н еотображалось?
источник

SB

Sergio Baquemetti in 🐘PHPStorm TIPS & TRICKS
Станислав Квятковский
Выручайте, компрады, как лечить это ненастье?
В другом месте помогло обвернуть это всё ещё и в new Promise с обработкой его catch, хотелось бы без таких костылей. Есть идеи?)
Так, проблема только в том, что тебе IDE подсвечивает непойманную ошибку?
источник

SB

Sergio Baquemetti in 🐘PHPStorm TIPS & TRICKS
или ошибка возникает в ран-тайме?
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Sergio Baquemetti
или ошибка возникает в ран-тайме?
Это уже ран-тайм(
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
И хрен же её повторишь в более простом представлении
источник

YK

Yuri Kizilov in 🐘PHPStorm TIPS & TRICKS
Странно только что проверил вызов new Error(...) без throw, не в хроме, не в фоксе ошибок в консоли нет.
источник

SB

Sergio Baquemetti in 🐘PHPStorm TIPS & TRICKS
ну и не должно быть
источник

SB

Sergio Baquemetti in 🐘PHPStorm TIPS & TRICKS
new Error() - эта конструкция и не должна БРОСАТЬ ошибку
источник

YK

Yuri Kizilov in 🐘PHPStorm TIPS & TRICKS
И зачем вызывать второй setTimeout c catch он у тебя не когда срабатывать не будет
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Sergio Baquemetti
new Error() - эта конструкция и не должна БРОСАТЬ ошибку
Вот и у меня это недоумение..
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Yuri Kizilov
И зачем вызывать второй setTimeout c catch он у тебя не когда срабатывать не будет
Будет, если вызвать вложенный stop()
источник

SB

Sergio Baquemetti in 🐘PHPStorm TIPS & TRICKS
видимо, на скриншоте - браузер показывает не место, где было брошено исключение, а место, где оно родилось.
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Sergio Baquemetti
видимо, на скриншоте - браузер показывает не место, где было брошено исключение, а место, где оно родилось.
Тоже об этом думал, однако тогда она должна где-то бросаться и не словиться, а этого, вроде как, нет
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Херня какая-то, как по мне, что-то в V8 не вывозит асинхронность и исключения созданные не реал-тайм..
источник

YK

Yuri Kizilov in 🐘PHPStorm TIPS & TRICKS
Во-первых, catch у тебя не срабатывает, везде onFulfill. Во-вторых, в консоль выводится только то что ты сам выводишь методом log. Посмотри, где ты выводишь в Uncaught ( in promise ) консоль и как по логике программа доходит до этого вызова log
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Yuri Kizilov
Во-первых, catch у тебя не срабатывает, везде onFulfill. Во-вторых, в консоль выводится только то что ты сам выводишь методом log. Посмотри, где ты выводишь в Uncaught ( in promise ) консоль и как по логике программа доходит до этого вызова log
1. По коду, создаётся reject-нутый Promise а только через пару миллисекунд на него вешается обработчик catch, "протеканий" мимо отложенного catch не нашёл, от того и вопрос;
2. Uncaught (in promise) — нативное сообщение, как и ещё куча выводимых не только через console.log.
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Спасибо что поучавствовали в расследовании. Пришлось отказаться от выстраивания вызовов в Promise-очередь, так стало возможно исключить использование исключений для остановки очереди
источник