【发布时间】:2020-12-19 01:31:56
【问题描述】:
我正在使用 nodejs 和 twit npm 包 (https://www.npmjs.com/package/twit) 构建一个简单的 twitter 流应用程序,这是我的后端代码:
const twit = require('twit');
let tw = new twit({
consumer_key: process.env.TWITTER_CONSUMER_KEY,
consumer_secret: process.env.TWITTER_CONSUMER_SECRET,
access_token: process.env.TWITTER_ACCESS_TOKEN,
access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET,
timeout_ms: 60 * 1000 // optional HTTP request timeout to apply to all requests.
});
const geoStream = (geoLocation) => {
let stream = tw.stream("statuses/filter", {
locations: geoLocation
});
// ON STREAM EVENT
stream.on("tweet", function(tweet) {
// ─── SOCKET EMIT ─────
socketIo.emit('tweet', tweet)
});
}
}
我有一个更改位置的发布路线
// POST ROUTE
app.post('/', (req, res) => {
// Set country and region from the form
let country = req.body.country;
let region = req.body.region;
// Fetch Geo code coordinates and run new stream
geoStream(geoLocation);
// REDIRECT
res.render('index.ejs', {
key: process.env.MAPQUEST_KEY
});
});
twit 文档这么说
stream.stop() 在流上调用这个函数来停止流式传输 (关闭与 Twitter 的连接)。
我的问题是
stream.stop()
不停止流,流保持不变,那么,我如何停止/删除旧流并开始新流? 谢谢!
【问题讨论】: