2011-06-02 6 views
4

Node.jsでExpress JSアプリケーションを作成しており、chat.nodejs.org(https: /github.com/ry/node_chat)。私は 'node_chat'のアプローチをtに従いました。別のブラウザから更新が行われた場合、ページは正しく更新されます。唯一の問題は、ブラウザー(Chrome)を「ローカルホストを待って」から離れて回転することができないように見えないことです。私はそれを行う必要はないと思います。Node.jsコールバックでブラウザが「待機」しないようにするには

簡略化のため、ここでは簡略化したコードを示します。何か案は?

client.js(クライアント側):

function poll(data) { 
// ... 
if(data){ 
    // do something with the data 

} 
    $.ajax({ 
     cache:false, 
     type:'GET', 
     url:'/json-people', 
     dataType: 'json', 
     data: { 
      slug: queue.slug, 
      since: CONFIG.last_timestamp 
      }, 
     error: function() { 
      // handle error 
     }, 
     success: function (data) { 
      poll(data); 
     } 
    }); 
}; 

app.js:

app.get('/json-people', function (req, res) { 
    queueProvider.query(req.param('slug'), req.param('since'), function (people){ 
    res.send({people: people}, 200); 
    }); 

}); 

私がqueueProvider.query方法に置くかは重要とは思われない、それが回転しますres.send(...)が実行されるまで離します。

私は参考のためにhttps://github.com/ry/node_chat/blob/master/client.jshttps://github.com/ry/node_chat/blob/master/server.jsを使用。

Particularily:

fu.get("/recv", function (req, res) {...} 

channel.query()

channel.appendMessage() 

おかげ。

+1

のようなものにポーリングから切り替え、このスピニングアイコンを避けるために、そのをお勧めします。それは読み込んでいるので回転します。ウェブソケットを使用してください。 – Raynos

答えて

関連する問題