Вы немедленно разрешаете или отклоняете, как только начинается обратный вызов pool.query()
:
if(err){ reject(err);}resolve(results);
Поэтому, если запрос не завершится неудачно, вы никогда не разрешите результаты, вызванные вызовами apolloFetch, так какОбещание уже выполнено с результатами pool.query ().Я полагаю, вам не хватает блока else
:
if( err ) {
reject();
}
else {
const promises = ...
}
PS: вы можете попробовать использовать util.promisify () для node.js, чтобы превратить pool.query()
в обещание, чтобы вы могли простонапишите что-нибудь похожее: query(...).then(results=>results.map(apolloFetch)
вместо того, чтобы смешивать обратные вызовы и обещания.