2016-10-06 4 views
0

私は現在、データを保存するためにmongooseと統合されたテキストを送受信するためにbotkit-smsを使用しています。私は自分の電話番号に基づいてユーザを取得したいので、私のコードでは、Mongoose User Schemaの電話番号でユーザを見つけるはずのコントローラを使用します。ただし、getUserTypeが呼び出されると、phoneNumberは未定義です。誰もがこれを修正する方法を知っていますか?私はJavascriptの非同期性と関係があるかもしれないと感じていますが、まだ言語に慣れているので完全にはわかりません。JavaScriptのパラメータが定義されていないとして渡されました

controller.hears(['HELPME'], 'message_received', (bot, message) => { 
    bot.startConversation(message, (err, convo) => { 
    var phoneNumber = message.user 
    console.log('phone number defined here' + phoneNumber) 
    Users.getUserType((err, user, phoneNumber) => { 
     console.log('not getting a user back here' + user.type) 
    }) 
    }) 
}) 

そして、私のuser_controllerに私は持っている:

export const getUserType = (callback, phoneNumber) => { 
    console.log('phone number is undefined here' + phoneNumber); 
    User.findOne({ 'phoneNumber': phoneNumber }).exec(callback); 
} 

を私は任意の助けをいただければと思います!ありがとう。

答えて

2

あなたはこれだけgetUserTypeにコールバック関数に渡しますが、ので、2つの引数を受け入れgetUserType

変更されています

Users.getUserType((err, user, phoneNumber) => { 
    console.log('not getting a user back here' + user.type) 
}, phoneNumber) 

Users.getUserType((err, user, phoneNumber) => { 
    console.log('not getting a user back here' + user.type) 
}) 

関連する問題