2016-12-21 10 views
0

2つの電子メールをカンマで区切って入力し、それぞれに1つの電子メールを送信するプログラムを作成しようとしています。私は入力を取るためのreadlineモジュールと、メールを送るためのnodemailerモジュールを使用しています。readlineが提供される前に入力を処理する

コード:

const readline = require('readline') 
let rl = readline.createInterface({ 
    input: process.stdin, 
    output: process.stdout 
}); 

rl.question('enter emails seperated by a comma: ', (ans) => { 
    var players = ans.split(','); 
    mailOptions1.to = players[0]; 
    mailOptions2.to = players[1]; 
    nextFunction(); 
} 

ここnextFunctionは、電子メールのテキストを生成し、それを送信する機能です。

私はこのコードを実行すると「カンマで区切られたメールを入力してください」というメッセージが表示され、メールを入力すると突然メールの送信が試みられ、受信者が定義したエラーは表示されません(明らかに、 m)。

これがどうして起こっているのか、それがどのように修正できるのかについての洞察は非常に高く評価されます。 :)

更新:Jeffが指摘したように、コードの背後にあるロジックは問題ありません。私のアプリケーションの中には、エラーを引き起こす他の部分があるようです。この質問はおそらく無関係でした。 :/

答えて

1

私はこれをテストしてくれました。

const readline = require('readline'); 
let rl = readline.createInterface({ 
    input: process.stdin, 
    output: process.stdout 
}); 

rl.question('enter emails separated by a comma: ', (ans) => { 
    var players = ans.split(','); 
    console.log(players[0] + '\n' + players[1]); 
}); 

を、以下の結果とnode rl-test.jsでコマンドラインからそれを呼び出した:私はrl-test.jsに次のように入れ

$ node rl-test.js 
enter emails seperated by a comma: foo,bar 
foo 
bar 

ないあなたに伝えるために何をしてください、しかし、あなたはそれがないことを知りたいと思いました作業。これを試すことができますか?

+0

はい、コードのスニペットが機能します。私のアプリケーションの他の部分が問題を作り出していることに気がつきました。この質問はおそらく無関係でした。 – Ajmal

関連する問題