У меня есть функция, которая выполняет некоторую операцию с использованием массива. Я хотел бы отклонить его, когда массив пуст.
В качестве примера
myArrayFunction(){
return new Promise(function (resolve, reject) {
var a = new Array();
//some operation with a
if(a.length > 0){
resolve(a);
}else{
reject('Not found');
}
};
}
Когда происходит операция отклонения, я получаю следующую ошибку. Возможно необработанная ошибка: не найдена
Однако при вызове myArrayFunction() у меня есть следующий catch.
handlers.getArray = function (request, reply) {
myArrayFunction().then(
function (a) {
reply(a);
}).catch(reply(hapi.error.notFound('No array')));
};
Каким будет правильный способ отклонить обещание, поймать отказ и ответить клиенту?
Спасибо.