Я знаю, что довольно много сообщений об этой ошибке, большинство из них имеют тот же ответ, но почему-то я все еще получаю предупреждение.
Я прочитал что-то вроде этого В Node.js7 как правильно подавить UnhandledPromiseRejectionWarning? , но вместо on
я использую once
из-за утечки прослушивателя событий, но иногда я все равно вижу предупреждение
Я хочу получить поездкупредупреждения или решить его, так как его высказывание устарело в будущем, но не уверен, когда.
Сначала при первом запуске я получу это вначале
You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection: myrejectionmessage
затем, я получу эту ошибку
UnhandledPromiseRejectionWarning: myrejectionmessage
UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 5)
это мой оригинальный код без того, что я пытался с сообщениями, которые я нашел, я пытаюсь получить некоторые файлы в aws s3 bucket
но возможно, что файл в корзине не существует
эта функция предназначена для сравнения, если есть файл, затем сравнить время изменения, если файл не существует reject
exports.compareObjectMT = (s3, Key, getFileStat) => {
const s3GetParams = {
Bucket: process.env.S3_BUCKET,
Key,
};
return new Promise((res, rej) => {
s3.getObject(s3GetParams, (err, data) => {
if (err) rej('myrejecterror');
if (data) {
res(String(getFileStat.mtimeMs) === data.Metadata.mtimems);
}
res(false);
});
});
};
Спасибо, яn заранее за любые предложения
Вот как я использую функцию
exports.s3Put = async (path) => {
try {
fs.readFile(path, async (err, fileBinary) => {
if (err) throw err;
// console.log(data, 'data');
const s3 = new AWS.S3();
const Key = path.replace(process.env.WATCH_PATH, '');
const getStat = await getFileStat(path);
console.log(getStat, 'getstateeeeeeeeeeeeeeee');
const compareObj = await compareObjectMT(s3, Key, getStat);
console.log(compareObj, 'compareObj');
});
} catch (e) {
console.log(e, 'errorrrrrrrrrrrrr');
}
};