Несколько вызовов WS в одном действии, как обрабатывать объекты Promise?

Я разрабатываю небольшой сервер на PlayFramework2/Scala, который должен извлекать данные из нескольких WS (REST/JSON), манипулировать данными из этих WS, затем составлять и возвращать результат.

Я знаю, как вызывать одинWS, манипулировать данными и возвращать асинхронный ответ. Но я не знаю, как вызывать последовательнонесколько веб-сервисов, обрабатывать данные между каждым вызовом и генерировать агрегированный ответ.

Пример:

  • Получить список моих любимых песен из WebService A
  • , затем для каждой песни получить информацию об исполнителе из WS B(один вызов по песне)
  • , затем сгенерируйте и верните что-то(например, агрегированный список), используя ответы Aи B
  • , затем верните результат

I блокируется асинхронными обработками WS API ( WS.url(url).get => Promise[Response]). Должен ли я опираться на Akka, чтобы решить эту проблему?

Спасибо.

11
задан YoT 3 April 2012 в 11:34
поделиться