非同期に呼び出して結果を取得することも出来ます。
英語版ドキュメントはこちら。
その1,その2,その3,その4も参照してみてください。
Async Queries (非同期クエリ)
現時点では、明示的にクエリ向けの非同期APIを提示してはいません。しかしながら、PreparedQuery.asIterable(),PreparedQuery.asIterator(),PreparedQuery.asList(FetchOptions fetchOptions)メソッドを呼び出すと、DatastoreServiceまたはAsyncDatastoreServiceのどちらも、直ちに値を返し、非同期に結果を先取りします。これによってアプリケーションの動作がクエリの結果が取得される間に平行して行われます。
// ...
Query q1 = new Query("Salesperson");
q1.addFilter("dateOfHire", FilterOperator.LESS_THAN, oneMonthAgo);
// Returns instantly, query is executing in the background.
Iterable recentHires = datastore.prepare(q1).asIterable();
Query q2 = new Query("Customer");
q2.addFilter("lastContact", FilterOperator.GREATER_THAN, oneYearAgo);
// Also returns instantly, query is executing in the background.
Iterable needsFollowup = datastore.prepare(q2).asIterable();
schedulePhoneCall(recentHires, needsFollowUp);
インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/
0 件のコメント:
コメントを投稿