【问题标题】:How do I display an Node response object in React如何在 React 中显示节点响应对象
【发布时间】:2021-03-01 06:55:29
【问题描述】:

我创建了一个 Javascript 文件,它使用 twit(npm) 根据特定规则获取推文流以实时检索推文

const Twit = require('twit')
const notifier = require('node-notifier');
const open = require('open');
const franc = require('franc')


const apikey = 'XXX'
const apiSecretKey = 'XXX'
const accessToken = 'XXX'
const accessTokenSecret = 'XXX'

var T = new Twit({
  consumer_key:         apikey,
  consumer_secret:      apiSecretKey,
  access_token:         accessToken,
  access_token_secret:  accessTokenSecret,
});

( function getTweets() {

    // //1. GET RECENT TWEETS
     //T.get('search/tweets', { q: '#tesla since:2020-04-15', count: 100 }, function(err, data, response) {
    //   const tweets = data.statuses
    //   // .map(tweet => `LANG: ${franc(tweet.text)} : ${tweet.text}`) //CHECK LANGUAGE
    //   .map(tweet => tweet.text)
    //   .filter(tweet => tweet.toLowerCase().includes('elon'));
    //   console.log(tweets);
    // })

    // //2. REAL TIME MONITORING USING STREAM (HASHTAG)
     var stream = T.stream('statuses/filter', { track: '#travel' })
     stream.on('tweet', function (tweet) {
         console.log(tweet.text);
         console.log('Language: ' + franc(tweet.text));
         console.log('------');
     })

    // 3. REAL TIME MONITORING USING STREAM (LOCATION)
    //var sanFrancisco = [ '-122.75', '36.8', '-121.75', '37.8' ]
    //var stream = T.stream('statuses/filter', { locations: sanFrancisco })
    
    //SHOW NOTIFICATION FOR EACH RECEIVED TWEET
    stream.on('tweet', function (tweet) {
      console.log(tweet.text);
      let url = `https://twitter.com/${tweet.user.screen_name}/status/${tweet.id_str}`

      notifier.notify({
        title: tweet.user.name,
        message: tweet.text
      });

      notifier.on('click', async function(notifierObject, options, event) {
        console.log('clicked');
        await open(url);
      });
    })
})();

我的问题是我想获取返回的对象,并将其显示在我的反应应用程序的独立页面上。我曾尝试将此代码包装在一个组件中,但我没有运气

【问题讨论】:

    标签: javascript node.js reactjs http


    【解决方案1】:

    我不知道 Twit 是如何工作的,我只测试了一点 React,但我会尝试以下方法:

    定义

    function getTweets() {
        return new Promise((resolve, reject) => {
            T.stream('statuses/filter', { track: '#travel' }).on('tweet', resolve);       
        });
    }
    

    然后使用

    let tweets = await getTweets(); 
    

    在 React 组件代码中。

    【讨论】:

      猜你喜欢
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多