是否保证Promise.next()
内的管道与next()
调用属于同一管道,还是可以“分支”(因此不向外部管道传播任何错误)?
例如,在文档https://ratpack.io/manual/current/api/ratpack/exec/Promise.html#next-ratpack.func.Action-中的示例中,运行String::toUpperCase
和相应的then()
的嵌套承诺是否总是在执行外部then()
之前运行?我认为api文档中的措词不清楚。
我已经用1.5.4对其进行了测试,并且在测试中,内部管道在外部和外部错误传播之前就终止了,但是我想知道这是由于实现细节还是可以保证的。
我的用例是,我从http请求中读取了形式参数,将它们映射到新值,将该值保存到db,然后将其返回给用户。我可以对数据库调用进行平面映射,然后从中返回值,但这似乎是一个hack。
谢谢