イベントサイクルとモード

975 ワード

目的:
    NodeJSのIO動作はすべて非ブロッキングであるべきです.コールバック関数に基づいて処理します.
ポリシー:
  • すべての操作はイベント駆動のはずです.
  • 消耗時の操作は、web workerに割り当てられた操作を考慮する.
    モード:
  • 無秩序パラレルIO
  •         NodeJSのデフォルト操作は無秩序パラレルです.
            例えば:             
    fs.readFile('foo.txt', 'utf8', function(err, data) {
          console.log(data);
        };
    fs.readFile('bar.txt', 'utf8', function(err, data) {
      console.log(data);
    };
  • シリアルIO(入れ子コール)
  •         一人一人のタスクは前のタスクを実行してから開始します.
        
    server.on('request', function(req, res) {
          var render = function(wsData) {
            page = pageRender(req, session, userData, wsData);
          };
          var getWsInfo = function(userData) {
            ws.get(req, render);
          };
          var getDbInfo = function(session) {
            db.get(session.user, getWsInfo);
          };
          var getMemCached = function(req, res) {
            memcached.getSession(req, getDbInfo);
          }; 
    }