Size: a a a

JavaScript.Ninja

2020 March 11

VV

Varenic Victor in JavaScript.Ninja
luxon/moment
источник

R

Rodion in JavaScript.Ninja
Дмитрий Дивин
А что за кейс, где применимо?
короче мне нужно с определенными промежутками. делать скриншот страницы которую видит пользоваттель, использую библиотеки типа html2canvas либо html-to-image, туда передаю body всей страницы дальше вырезаю по координатам в канвасе и это сильно сильно ресурсозатратная операция, я думаю если буду слать только ту DomNode которубю видно то генерации странички будет идти быстрее. ТАкой кейс
источник

ДД

Дмитрий Дивин in JavaScript.Ninja
А сколько процентов по высоте видимая область обычно занимает?
источник

ДД

Дмитрий Дивин in JavaScript.Ninja
От общей высоты страницы
источник

T

Tim in JavaScript.Ninja
80vh, но как дизайнер придумает
источник

R

Rodion in JavaScript.Ninja
Дмитрий Дивин
А сколько процентов по высоте видимая область обычно занимает?
проуентов 15-20
источник

ii

iCheater iCheater in JavaScript.Ninja
всем привет!

нашел статью об обработке ошибок https://dev.to/nedsoft/central-error-handling-in-express-3aej
сделал, нраица (https://github.com/iCheater/expressServer/blob/15f551990375e7ebfdda07a21a7e9da8b404495b/helpers/error.js#L28)
но среда жалуется (картинка: 'throw' of exception caught locally.)
вот тут предлагаю отрефакторить код:
https://stackoverflow.com/questions/47015693/how-to-fix-throw-of-exception-caught-locally
https://stackoverflow.com/questions/47015693/how-to-fix-throw-of-exception-caught-locally/47016061
вот тут вообще пишут мол в трай кече функции не будут оптимизированны

https://stackoverflow.com/questions/24433901/throw-of-exception-caught-locally-why-is-this-bad?noredirect=1&lq=1

Есть ли какой-то секретный соус  aka "best_practice" как хендлить ошибки в экспрессе ?
источник

IK

Illya Klymov in JavaScript.Ninja
Про оптимизацию уже давно поправили
источник

IK

Illya Klymov in JavaScript.Ninja
Но крайне не рекомендую такую архитектуру
источник

IK

Illya Klymov in JavaScript.Ninja
Рад что вебшторм жалуется
источник

ii

iCheater iCheater in JavaScript.Ninja
Illya Klymov
Но крайне не рекомендую такую архитектуру
очевидный вопрос : "а как лучше?"
источник

~

~Амаль in JavaScript.Ninja
iCheater iCheater
всем привет!

нашел статью об обработке ошибок https://dev.to/nedsoft/central-error-handling-in-express-3aej
сделал, нраица (https://github.com/iCheater/expressServer/blob/15f551990375e7ebfdda07a21a7e9da8b404495b/helpers/error.js#L28)
но среда жалуется (картинка: 'throw' of exception caught locally.)
вот тут предлагаю отрефакторить код:
https://stackoverflow.com/questions/47015693/how-to-fix-throw-of-exception-caught-locally
https://stackoverflow.com/questions/47015693/how-to-fix-throw-of-exception-caught-locally/47016061
вот тут вообще пишут мол в трай кече функции не будут оптимизированны

https://stackoverflow.com/questions/24433901/throw-of-exception-caught-locally-why-is-this-bad?noredirect=1&lq=1

Есть ли какой-то секретный соус  aka "best_practice" как хендлить ошибки в экспрессе ?
как я понимаю throw должна вернуть функция которую вы будете оборачивать в try / catch
источник

~

~Амаль in JavaScript.Ninja
логику которая может в момент выкинуть исключение выносите в функцию и вызываете эту функцию внутри try-catch
источник

~

~Амаль in JavaScript.Ninja
на вашем скрине я вижу 2 логики
источник

ii

iCheater iCheater in JavaScript.Ninja
~Амаль
на вашем скрине я вижу 2 логики
ну, там немного больше. Далее идут запросы к базе https://github.com/iCheater/expressServer/blob/15f551990375e7ebfdda07a21a7e9da8b404495b/routes/order.js#L37
источник

ii

iCheater iCheater in JavaScript.Ninja
~Амаль
логику которая может в момент выкинуть исключение выносите в функцию и вызываете эту функцию внутри try-catch
я правильно понимаю, что ваше предложение в том, что даже небольшие проверки, вроде if() выносить в отдельные функции?

и все привести к такому виду?

// main.js
try {
 if (!data) throw Error('missing data')
} catch (error) {
 handleError(error)
}

// Refactor...

// validate.js
function checkData(data) {
 if (!data) throw Error('missing data')
}

// main.js
try {
 checkData(data)
} catch (error) {
 handleError(error)
}
источник

~

~Амаль in JavaScript.Ninja
iCheater iCheater
я правильно понимаю, что ваше предложение в том, что даже небольшие проверки, вроде if() выносить в отдельные функции?

и все привести к такому виду?

// main.js
try {
 if (!data) throw Error('missing data')
} catch (error) {
 handleError(error)
}

// Refactor...

// validate.js
function checkData(data) {
 if (!data) throw Error('missing data')
}

// main.js
try {
 checkData(data)
} catch (error) {
 handleError(error)
}
скорее скажу что "да",... может кто-то еще посоветует
источник

~

~Амаль in JavaScript.Ninja
я тоже послушаю
источник

ii

iCheater iCheater in JavaScript.Ninja
источник

ii

iCheater iCheater in JavaScript.Ninja
Illya Klymov
Но крайне не рекомендую такую архитектуру
Нашел проект с говорящим названием production-ready-expressjs-server
Там куча всего.
В частности вики как использовать предложенный вариант хендлинга ошибок,  ссылки с объяснениями, best practice все дела.

Что думаете на счет этого?
источник