用例是:我有一个事件处理程序,可以进行一些处理。它调用一个返回promise的函数。我需要保证函数最终完成或失败,但是,之后我不需要做任何额外的处理。这似乎有效,但看起来不好做法:
function onMyEvent() {
return promisifiedFunction()
.catch( //log error );
}
function someFunction() {
emit(‘myevent’);
}
这种不良做法是否有没有捕获?它似乎工作正常。
我认为我不需要return
,因为我可以发射,但我想如果我想抓住错误就需要{/ p>
答案 0 :(得分:0)
承诺,使用.then
或.catch
运行承诺。或者至少开始运行它。 .catch
函数只是Promise的不同路径,即发生异常时。
如果您在没有.then
的情况下运行承诺,承诺将以静默方式解决,并且仍然可以输入.catch
个函数。
如果您在没有.catch
的情况下运行承诺,则所有.then
函数仍然可以工作/链,并且会抛出任何异常。
你正在做的事情是好的,如果你不关心结果或没有链接承诺,你甚至可能不需要退货声明。