Разъяснение Promise.next в ratpack - PullRequest
0 голосов
/ 19 сентября 2018

Гарантируется ли, что конвейеры обещаний в пределах Promise.next() являются частью того же конвейера, что и вызов next(), или они могут быть "разветвленными" (и, следовательно, не распространять какие-либо ошибки во внешний конвейер)?Например, в примере в документации, https://ratpack.io/manual/current/api/ratpack/exec/Promise.html#next-ratpack.func.Action-, будет ли вложенное обещание, которое запускается String::toUpperCase с соответствующим then(), всегда выполняться до выполнения внешнего then()?Я думаю, что формулировка в api docs не ясна.

Я тестировал ее с 1.5.4, и в тесте внутренний конвейер завершается до того, как внешний, и ошибки распространяются на внешний, но мне интересноесли это связано с подробностями реализации или если это гарантировано.

Мой сценарий использования: я запрашиваю http-параметры формы для чтения, сопоставляю их с новым значением, сохраняю значение в БД и возвращаю его впользователь.Я мог бы отобразить вызов базы данных и вернуть из него значение, но это похоже на хак.

Спасибо

...