2
定義されたユーザーからのツイートをヘルパーファイルで連結し、server.jsで取得しようとしていますが、strの値は未定義です最初に実行される)、私のヘルパーからのconsole.logが正しい値で表示されます。Node.js内の別のファイルで同期して戻り値を使用する
出力:
GET /ログイン/ Twitterの/コールバック302 618.242ミリ秒 - サーバーで0
連結ツイート:未定義のヘルパーで
連結ツイート:テストさえずる3 #TestTweetテストツイート2 テストツイート1
誰でもtwitter rHelper.getTweets関数はサーバーで返されたstrを取得しますか?ありがとう!
Server.js
app.get('/login/twitter/callback',
passport.authenticate('twitter', {failureRedirect: "/login"},
function(req, res) {
// auth success
async.waterfall ([
function(callback) {
callback(null, twitterHelper.getTweets(user));
},
function(str, callback) {
console.log("Concatenated Tweets in Server: " + str);
callback(null);
}
],
function(err) {
if(err)
console.log("Error: " + err);
}
);
}
)
);
Helper.js
var concatTweets = '';
var promise = new Promise(
function(resolve, reject) {
T.get('statuses/user_timeline', params, function(err, data, response) {
if(err)
reject(err);
else {
for (var i = 0; i < data.length ; i++)
concatTweets = concatTweets + " " + data[i].text;
resolve(concatTweets);
}
})
}
).then(
str => {
console.log("Concatenated Tweets in Helper: " + str);
return str;
}, err => {
console.log(err);
return err;
}
);