3

外部サービス API との対話に依存する新しいアプリケーションの開発を検討しています。

たとえば、新しいツイートがあるたびに更新されるリアルタイムの Twitter フィードを作成したい、フレームワークとして Meteor を使用したいのですが、ページを更新せずに Meteor に新しいツイートを自動的に表示させることが可能かどうかはわかりません。

Node.js と Socket.io でこれを実行できることはわかっていますが、Meteor だけで実行できますか?

ありがとう

4

2 に答える 2

5

外部ソースからデータを取得するには、基本的に 2 つの方法があります。サーバー上の Ajax または http 要求。最近これに取り組みましたが、2 番目の方法を使用する必要がありました。

クライアント.js

Meteor.startup( function() {
    Meteor.call( 'openSession', function( err, res ) {
        if( !err ) Session.set( 'data', res );
    });
});

サーバー.js

Meteor.methods({
    openSession: function() {
        var fut = new Future(), url = 'http://www.google.com';

        // Do call here, return value with Future
        Meteor.http.get(url, function( err, res ){
            fut.ret(res);
        });

        // Force method to wait on Future return
        return fut.wait();
    }

});

ご覧のとおり、Future を使用して Meteor を非同期 http リクエストと一緒に再生する必要がありました。ただし、サーバー側でメソッドを定義し、クライアント側でそれを呼び出すのと同じくらい簡単です。

于 2012-11-03T01:16:49.840 に答える
2

Meteor.http外部データを取得する必要があります。(ドキュメント)

これをサーバーで使用して、新しいツイートをコレクションに追加できます。

もちろん、このコレクションを購読しているすべてのクライアントは、同期を維持します。

于 2012-11-02T11:17:52.283 に答える