私はnodejsを初めて使用しており、コレクションからユーザーを見つけるためのヘルパー機能を作成したいと考えています。新しい文書をデータベースに追加する前に、そのヘルパー関数を実行したいと思います。 Parallaly私はそのヘルパー関数を他の場所で何度も使用したいと思っています。nodejsでasyncを使用することをお勧めしますか? nodejsでヘルパー関数を使用するには?
単純に1つの関数を作成し、その関数の結果を格納すると、コントロールはその場所から渡され、Nodejsの基本的な非同期機能として出力を待機しません。
どのように私は
どのようにネストされたコールバックを使用するヘルパー関数を使用して結果を待ってから、必要な操作を実行するために私のコードをカスタマイズすることができますか? ネストされたコールバックは、コールバックデータおよび制御を待っていないことはここでは次の行に
を行く私のコードです:
login: function (req, res) {
var user = helpers.checkIfDataExists(req.body.mobileNumber, function (user) {
if (user) {
console.log('user exists');
var email = helpers.checkIfDataExists(req.body.email, function (email) {
if (email) {
console.log('email exists');
} else {
console.log('email not exists');
}
});
} else {
console.log('user not exists')
}
});
}
私は機能まで待機するが実行され、その後、条件が実行されますことをしたいです。 ここで、制御はデフォルトでelse部分で毎回行われます。
checkIfDataExists: function (value, callback) {
User.find({mobileNumber: value})
.exec(function (err, result) {
if (err) {
console.log('Error occured');
callback(false);
} else {
console.log('result found');
callback(result);
}
});
},
程度articleへのリンクですか? それはそれを待っていません –
あなたも入れ子にされたコールバックを使用することができますが、そのためにあなたのコードを整理する必要があります。それは良い練習を必要とします。 –
投稿したコードであなたのケースで上記のコードが動作する –