Ich experimentiere mit NodeJS und der Twitter-API. Ich brauche Hilfe mit einem Versprechen. Die Funktion requestFollowers
sollte ein Versprechen zurückgeben und es tut es. Wenn ich die Datei im Knoten cli ausführe, wird die Verarbeitung angezeigt und der Wert wird nie protokolliert. Wie bekomme ich den Wert, den ich von ihm erwarte oder wie löse ich es?Ich kann mit Twitter API kein Versprechen bekommen.
Hier ist, was ich so habe.
function requestFollowers(tweep) {
return new Promise(function(resolve, reject) {
twitter.get('followers/list', {
count: 200,
skip_status: true,
screen_name: tweep
}, function(error, followers) {
if (error) {
console.log('followers list/ error >', error);
reject(error);
} else {
resolve(followers.users.map(thing => thing.screen_name));
}
});
});
}
function onMention(error, tweets) {
if (error) {
console.log('mentions_timeline/ error >', error);
} else {
//console.log('mentions_timeline/ tweets >', tweets);
let mentioned = tweets[0].entities.user_mentions
.filter(thing => thing.screen_name !== user.screen_name)
.map(thing => thing.screen_name);
var list1 = requestFollowers(mentioned[0]),
list2 = requestFollowers(tweets[0].user.screen_name);
console.log('list1 >', list1.then(val => val).catch(error => error));
console.log('list2 >', list2.then(val => val).catch(error => error));
}
}
var config = require('./config'),
Twitter = require('twitter'),
twitter = new Twitter(config),
user = {
screen_name: 'screen_name'
},
/** @param {string} status */
getStatus = status => ({
status
});
twitter.get('statuses/mentions_timeline', user, onMention);
JA! Danke für die richtige Antwort. – colecmc