私はExpressフレームワークと学習には新しく、.then
を使用している問題があります。問題は2つの関数があり、2番目の関数が実行される前に最初の関数を完了させたいということです。私はモジュールをエクスポートしています。Expressフレームワークで使用できません
var ubm = require('./userBasic');
2つの機能setUserData
とshowUserId
がありますが、showUserId
はsetUserDataがその動作を行った後にのみ実行する必要があります。以下は
var userId = ubm.setUserData(userName,userEmail,userDOB,moment);
userId.then(ubm.showUserId(userId));
2つの関数です:
module.exports = {
setUserData: function (userName,userEmail,userDOB,moment){
//Performing database activities
return userId;
}
showUserId: function (userId){
console.log(userId);
}
}
私はそれがTypeError: Cannot read property 'then' of undefined
言う実行すると。
私は非常に新しいと学習し、解決策を見つけることができませんでした。私はいくつかのGoogle検索を行い、promise
についての簡単な説明を得ましたが、ここで実装する方法はわかりません。
問題は、 'showUserId'が' setUserData'の前に実行され、 'undefined'を記録することです。 –
私は 'reject'を削除しようとしたので、上記の問題が発生しました。' reject(error) 'を追加したところ、' error'は 'undefined 'です。何かエラーが出るのをやめないとどうなりますか? –
ご迷惑をおかけいたしますが、ご迷惑をおかけして申し訳ございません。はい、そのビットを残して、それは動作し、キャッチ部分を除外します –