0

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
    }
Edin Osmic
  • 83
  • 1
  • 7

0 Answers0