Использую express, возникла проблема.
При возникновении ошибки во время запроса на сервер, он должен вернуть обьект ошибки.
Как было раньше:
export async function getProjectsList(req: express.Request, res: express.Response) {
try {
...
} catch (err) {
return res.status(HTTPStatus.BAD_REQUEST).json(err);
}
}
Но Response.json() вызывает для переданного объекта JSON.stringify()
const error = new Error('Just an error!');
console.log(JSON.stringify(error))
Сейчас создал функцию:
const error = new Error('Just an error!');
const errPreJson = err => ({error: err.name, message: err.message});
console.log(JSON.stringify(errPreJson(error)));
Но везде так использовать желания особо нет, когда можно делать так:
const error = new Error('Just an error!');
console.log(JSON.stringify(error, ['name', 'message']));
Как бы организовать такое поведение без создания дополнительных функций, ну и чтобы только для инстансов Error работало.
const oldJsonStringify = JSON.stringify;
JSON.stringify = function(obj) {
if (obj instanceof Error)
obj = { error: obj.name, message: obj.message };
return oldJsonStringify(obj);
};
console.log(JSON.stringify({a:1}));
console.log(JSON.stringify(new Error('Just an error!')));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть массив объектов и массив
Подскажите, пожалуйста, как можно реализовать замену числовых значений в массиве не затрагивая строковые значения на javascript? Пробовал регуляркой...
Задача следующая: поставить затемнение на экран при нажатии на кнопку и обратно убирать затемнение при повторном нажатии