ошибка просто означает, что вы не обрабатываете часть отклонения в обычном обещании, есть часть .catch () , как показано ниже
new Promise(function(resolve, reject) {
resolve('Success');
//reject('err)
})
.then(function(value) {
console.log("everything ok")
})
.catch(function(e) {
console.log(e); // "oh, no!"
})
, но в асинхронном режиме вы ожидаете, что произойдеткогда происходит ошибка?вы можете выполнить одно из следующих действий:
try {
await await fetch(url)
} catch (err) {
//handle error
}
или, возможно, промежуточное программное обеспечение, подобное этому
const express = require('express');
const app = express();
app.get('/', safeHandler(handler));
app.listen(3000);
function safeHandler(handler) {
return function(req, res) {
handler(req, res).catch(error => res.status(500).send(error.message));
};
}
async function handler(req, res) {
await new Promise((resolve, reject) => reject(new Error('Hang!')));
res.send('Hello, World!');
}
, более поздняя часть была взята этим источником решение безопасного обработчика