Je concaténer tweets d'un utilisateur défini par un fichier d'aide et d'essayer de le récupérer dans mes server.js mais la valeur str est toujours définie (et cette ligne obtient exécuté en premier), puis le fichier console.log de mon assistant imprime avec la bonne valeur.En utilisant la valeur de retour dans un autre fichier dans Node.js synchroniquement
Sortie:
GET/login/twitter/rappel 302 618,242 ms - 0
Tweets concaténé Serveur: non défini
Tweets concaténé Aide: Test Tweet 3 #TestTweet test Tweet 2 Test Tweet 1
Quelqu'un peut-il aider sur quel flux de contrôle je devrais utiliser pour appeler twitte rHelper.getTweets fonctionne pour obtenir le str retourné dans le serveur s'il vous plaît? Merci!
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;
}
);