Czy istnieje sposób użycia RequestFactory do utworzenia dwóch elementów w jednym żądaniu? Próbowałem:GWT RequestFactory i wiele żądań
EmployeeRequest request = requestFactory.employeeRequest();
EmployeeProxy newEmployee = request.create(EmployeeProxy.class);
newEmployee.setName("Joe!");
Request<Void> createReq = request.persist().using(newEmployee);
createReq.fire();
EmployeeProxy newEmployee2 = request.create(EmployeeProxy.class);
newEmployee2.setName("Sam!");
Request<Void> createReq2 = request.persist().using(newEmployee2);
createReq2.fire();
Ale pojawia się błąd, że żądanie jest już w toku. Po dwóch osobnych żądaniach dotyczących pracowników:
EmployeeRequest request = requestFactory.employeeRequest();
EmployeeProxy newEmployee = request.create(EmployeeProxy.class);
newEmployee.setName("Joe!");
Request<Void> createReq = request.persist().using(newEmployee);
createReq.fire();
EmployeeRequest request2 = requestFactory.employeeRequest();
EmployeeProxy newEmployee2 = request2.create(EmployeeProxy.class);
newEmployee2.setName("Sam!");
Request<Void> createReq2 = request2.persist().using(newEmployee2);
createReq2.fire();
Następnie z przeglądarki są wysyłane dwa oddzielne zapytania. Mam nadzieję, że coś w RequestFactory może łączyć wiele żądań - muszę tworzyć setki podmiotów naraz i nie chcę wysyłać setek próśb!
Och, jak dziwne. Bardzo dziwne. Czy to znaczy, że muszę stworzyć jakiś mechanizm, aby zaplanować wywołanie fire() po wykonaniu wszystkich wywołań persist(), które chcę wykonać? Sądzę, że byłoby to dość proste w przypadku odroczonego polecenia, ale ... coś niezręcznego! –
@Riley: Zawinąłbym cały kod, który buduje żądanie w metodzie lub we własnym obiekcie. Użyłbym jakiejś zmiennej (lub pola) do zapamiętania ostatniego żądania. Następnie po wykonaniu tej części kodu, nazwałbym fire na najnowszej prośbie. (Nie użyłbym polecenia odroczonego - jest zbyt roztrzęsiony, ponieważ nie jest łatwo upewnić się, kiedy dokładnie zostanie wykonany). –
Aktualizacja: Robiłem głupi błąd i teraz twój kod działa świetnie. Zastanowię się nad sposobami agregowania żądań. Dzięki Chris! –