Ваша функция analyzeSentiment
ничего не возвращает (см. Пояснение ниже).
Попробуйте:
const analyzeSentiment = function(message) {
return sentiment.getSentiment(message).then(result => {
return (result.vote === 'positive') ? handlePositive() : handleNegative();
});
}
А у вашего абонента:
require('q1').sentimentAnalyzer('text string').then(message => {
// Do your thing with the message here
});
В качестве альтернативы, если вы находитесь в асинхронном c контексте, вы можете использовать await для вызывающей стороны:
const message = await require('q1').sentimentAnalyzer('text string');
Возможно, вы задаетесь вопросом, почему return (result.vote === ...
не возвращается из вашей analyzeSentiment
-функции. Причина в том, что вы создаете анонимную функцию с выражением стрелки result => ...
в блоке then
.