Разъяснение Promise.next в ratpack

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

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

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

Спасибо

0 ответов

Другие вопросы по тегам