2017-12-05 23 views
0

AsyncIteratorは、.next()を使用してデータをプルする必要があります。しかし、Webソケットの場合は、一般にイベントが発生したときにデータをプッシュしたいと考えています。私が考えることができるのは、プルベースを使用することによって、レート制限を行うことができることだけです。GraphQLサブスクリプションでAsyncIteratorが使用されるのはなぜですか?

だから何を呼び出すのですか.next()?それはタイマーですか、それともパブリッシュメッセージを待ち受けていますか?それをキューに入れてから、すべてのキューを消費するまで.next()を呼び出しますか?

マップ上のGPS位置などのリアルタイムデータに適していますか?

はここを見て、まだそれを把握することができませんでした:アポロからhttps://github.com/facebook/graphql/blob/master/rfcs/Subscriptions.md

GraphQLサブスクリプションレポ:https://github.com/apollographql/graphql-subscriptions

答えて

0

AsyncIterator反復をEventStreamを通じて、各イベントがあるいつかフィルタで、および/またはペイロードを解決します操作。

ペイロード操作では、別の非同期データベース要求を呼び出すことも、時間がかかる他のgraphQL型を解決することもできます。

したがって、GraphQLはプルベースのシステムを使用して、イベントストリームを解決します。 withFilterresolvesのどちらでも使用しないと、多くのユーザー以外ではイベントが遅れることはありません。

GraphQLは低遅延データに適しています。

出典:https://github.com/graphql/graphql-js/blob/master/src/subscription/subscribe.js#L44

関連する問題