Обещания и потоки с использованием Bluebird.js и Twitter
Я новичок в Promises и Node, и мне интересно использовать обещания с потоками. Могу ли я обещать поток? Используя Bluebirdjs и модуль Twit у меня есть следующее:
var Twit = require('twit')
var Promise = require("bluebird");
var T = new Twit({
consumer_key: process.env.CONSUMER_KEY,
consumer_secret: process.env.CONSUMER_SECRET,
access_token: process.env.ACCESS_TOKEN,
access_token_secret: process.env.ACCESS_TOKEN_SECRET
})
Promise.promisifyAll(Twit);
Promise.promisifyAll(T);
var sanFrancisco = [ '-122.75', '36.8', '-121.75', '37.8' ]
T.streamAsync('statuses/filter', { locations: sanFrancisco })
.then(function(connection){
connection.onAsync('tweet')
.then(function (tweet) {
console.log(tweet)
})
});
Запуск этого кода не регистрирует твит и не выдает никакой ошибки. Ничего не происходит, кажется, что связь установлена, но ни одно из этих обещаний не работает.
Оригинальный фрагмент, прежде чем пытаться выполнить обещания, найденные втвит документы
var sanFrancisco = [ '-122.75', '36.8', '-121.75', '37.8' ]
var stream = T.stream('statuses/filter', { locations: sanFrancisco })
stream.on('tweet', function (tweet) {
console.log(tweet)
})