comment travailler avec“.stdin.sur”?

J'essaie de comprendre le processus.stdin.

Par exemple - je besoin pour afficher les éléments du tableau dans la console. Et je devrait permettre à l'utilisateur de choisir quel élément sera affiché.

J'ai code:

var arr = ['elem1','elem2','elem3','elem4','elem5'],
    lastIndx = arr.length-1;

showArrElem();

function showArrElem () {

  console.log('press number from 0 to ' + lastIndx +', or "q" to quit');

  process.stdin.on('readable', function (key) {
        var key = process.stdin.read();
        if (!process.stdin.isRaw) {
          process.stdin.setRawMode( true );
        } else {
          var i = String(key);
          if (i == 'q') {
            process.exit(0);
          } else {
            console.log('you press ' +i); //null
            console.log('e: ' +arr[i]);
            showArrElem();
          };
        };  
  });

};

Pourquoi le "je" est nulle lorsque je tape une seconde fois? Comment utiliser ".stdin.sur" correctement?

avez-vous essayé nodejs.org/api/readline.html ?
non, merci. Je vais le faire.

OriginalL'auteur ivanesi | 2014-10-20