我正在使用twit
包。
twit.get
函数应该返回将用于在表中插入数据的数据。
如何将async
任务中的 var tweet=new twit(config);
var asyncTasks = [];
var responseObj = {};
asyncTasks.push(insertTweets.bind(null,10476462));
async.series(asyncTasks, function(error){
if(error){
}
res.send(response);
})
tweet.get('statuses/user_timeline', { screen_name:'adamdangelo', count: 10}, function(err, data, response) {
cosole.log(data);
})
function insertTweets(userId,cb){
for(var i=0;i<data.length;i++){
var t={user_id:10476462, tweet_id:i,tweet: data[i].text};
con.query("INSERT INTO `tweets` SET ?",t,
function(err,data,response){
if(err){console.log('Error in inserting'+err); return err;}
console.log('Tweets inserted');
})
}
}
作为函数包含在内?
{{1}}
答案 0 :(得分:0)
而不是使用回调:
tweet.get('statuses/user_timeline', { screen_name:'adamdangelo', count: 10}, function(err, data, response) {
cosole.log(data);
})
将其用作承诺:
tweet.get('statuses/user_timeline', { screen_name:'adamdangelo', count: 10})
.catch(function (err) {
console.log('caught error', err.stack)
})
.then(function (result) {
console.log('response', result)
})
所以你可以把它推到你的asyncTasks
,例如:
asyncTasks.push(tweet.get('statuses/user_timeline', { screen_name:'adamdangelo', count: 10}))
或使其更具可读性:
var getTweets = tweet.get('statuses/user_timeline', { screen_name:'adamdangelo', count: 10})
asyncTasks.push(getTweets)