Чтобы "исправить" странное обещание, вы можете просто throw err
, если он есть, и return
данные в противном случае:
var fixed = randomLibPromise.then((data, err) => {
if(err) throw err;
return data;
})
Результатом будет обещание, которое делает правильную вещьто есть передает данные в then
, ошибка в catch
или, если ожидает, либо возвращает data
, либо выдает ошибку.
fixed.then(data => { /* handle data */ }).catch(err => { /* handle err */ });
// or
try {
var data = await fixed;
// handle data
} catch(err) {
//handle err
}