Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 获取调用文件中模块的返回值_Node.js_Node Modules - Fatal编程技术网

Node.js 获取调用文件中模块的返回值

Node.js 获取调用文件中模块的返回值,node.js,node-modules,Node.js,Node Modules,我的根节点文件需要一个名为q1的模块(不包括所有不相关的必需库) 我这样称呼它:const message=require('q1')。analyzetouction('text string') 通过控制台日志记录,我可以看到它可以被转换成适当的handlePositive或handleNegative方法,但是没有任何结果。我试过几种不同的方法,但都没能奏效。有没有人有什么建议,或者看到我做错了什么?这是我第一次使用node。您的函数analyzetouction没有返回任何内容(请参阅下面

我的根节点文件需要一个名为q1的模块(不包括所有不相关的必需库)

我这样称呼它:const message=require('q1')。analyzetouction('text string')


通过控制台日志记录,我可以看到它可以被转换成适当的handlePositive或handleNegative方法,但是没有任何结果。我试过几种不同的方法,但都没能奏效。有没有人有什么建议,或者看到我做错了什么?这是我第一次使用node。

您的函数
analyzetouction
没有返回任何内容(请参阅下面的解释)

试试这个:

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
});
或者,如果您处于异步上下文中,则可以在调用方上使用wait:

const message = await require('q1').sentimentAnalyzer('text string');

您可能想知道为什么
会返回(result.vote===…
没有从
分析情感
-函数返回。原因是您正在
然后
-块中创建一个带有箭头表达式
result=>…
的匿名函数。

什么是
情感分析器
?它不在代码中?如果您想从
analyzetouction
您需要返回整个语句
return-touction.gettouction(message)。然后(result=>{return(result.vote=='positive')?handlePositive():handleNegative();})
那是因为我是一个白痴,错误地说出了我自己的函数调用。代码中的错误是正确的,只是不在这里。修复了。谢谢!是的,这确实是我缺少的。匿名函数没有返回。
const message = await require('q1').sentimentAnalyzer('text string');