I have this fetchTweets function which is called with cron every 10secs, and my problem is that newTweets variable is not incrementing, in console i am getting 0. As you can see i initialized variable and gave it initial value 0, and its being incremented in forEach and then returned.
fetchTweets: async () => {
let dt = dateTime.create()
const time = dt.format('Y-m-d H:M:S')
let users = await userControl.getAllUsers('WHERE isActive = ?', 1)
let twitterUsers = Object.values(JSON.parse(JSON.stringify(users)))
var newTweets = 0
twitterUsers.forEach(async (user) => {
twitterResponse = await twitter.get(`users/${user.twitter_id}/tweets`, { max_results: 10 })
twitterResponse.data.forEach(async (tweet) => {
const tweetCheck = await SQL('SELECT COUNT(id) as cn FROM twitter_tweets WHERE tweet_id = ?', [tweet.id])
if(tweetCheck[0].cn == 0) {
newTweets++
const t = [user.twitter_id, tweet.id, tweet.text, time]
await SQL('INSERT INTO twitter_tweets SET twitter_id = ?, tweet_id = ?, tweet_text = ?, added_at = ?', t)
}
})
})
return newTweets
}