12
배열을 사용하여 일부 작업을 수행하는 기능이 있습니다. 배열이 비어있을 때 거부하고 싶습니다. (가) 작업을 거부하는 예약속 거부 가능성이 처리되지 않음 오류 :
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()에 대한 호출이 이루어지면 다음과 같은 오류가 발생합니다.
handlers.getArray = function (request, reply) {
myArrayFunction().then(
function (a) {
reply(a);
}).catch(reply(hapi.error.notFound('No array')));
};
약속을 거부하고 거부하고 클라이언트에게 응답하는 올바른 방법은 무엇입니까?
감사합니다.
픽스는 제안한대로 .catch 함수를 전달하는 것이 었습니다. 두 번째 옵션은 .catch (NotFoundError, reply)입니다. 나에게 다음과 같은 오류를 준다 "catch 필터는 에러 생성자 또는 필터 함수 여야한다." – juan
@juan은 NotFoundError를 구현 했습니까? – Esailija
예, 구현되었습니다. – juan