Sau khi đã sử dụng Play! Khuôn khổ trong một thời gian, tôi đang dùng một cái nhìn đầu tiên để phun. Tôi bắt đầu từ một mẫu tôi tìm thấy trên GitHub, bây giờ tôi muốn sửa đổi nó nhưng nó không phải dễ dàng cho tôi để có được cách thức hoạt động.Gọi một diễn viên trong đường phun và đợi phản hồi của diễn viên
Tôi làm cách nào để đợi thông báo từ diễn viên trong mã bên dưới?
package api
import akka.actor.ActorRef
import scala.concurrent.ExecutionContext
import spray.routing.Directives
import core.ClassifierActor
class ClassifierService(classifier: ActorRef)(implicit executionContext: ExecutionContext)
extends Directives with DefaultJsonFormats {
import ClassifierActor._
implicit val classifyMessageFormat = jsonFormat4(ClassifyMessage)
val route =
path("classify") {
post {
handleWith {
// The ClassifierActor gets a ClassifyMessage and
// sends a ClassifiedMessage back to the sender.
// How can wait for the ClassifiedMessage here
// and send a HttpResponse back?
cm: ClassifyMessage => classifier ! cm
// ???
}
}
}
}
Tôi không viết mã định tuyến để tôi không biết cách tốt nhất nhưng bạn không bao giờ chờ đợi: thay vào đó bạn đưa yêu cầu cho một diễn viên hoặc có thể là một diễn viên được bao bọc trong tương lai gửi trả lời khi quá trình xử lý hoàn tất. – Rup
Tôi mới sử dụng Spray, vì vậy tôi không thể nhận được bất kỳ lợi thế nào từ câu trả lời của bạn. Tôi thà cần một đoạn mã. – Max