Tag: catch block

承诺拒绝可能未处理错误:

我有一个使用数组做一些操作的函数。 我想在数组为空时拒绝它。 举个例子 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'); } }; } 当拒绝操作发生时,我得到以下错误。 可能未处理错误:未find 不过,当我调用myArrayFunction()时,我有下面的catch。 handlers.getArray = function (request, reply) { myArrayFunction().then( function (a) { reply(a); }).catch(reply(hapi.error.notFound('No array'))); }; 拒绝承诺的正确方法是什么,接受拒绝并回应客户? 谢谢。