如何从Node.js中使用“http.get()”方法的函数返回值?
我有一个简单的HTTPGET函数,只需要在函数中返回响应,但现在这个函数返回void sitechecks.js中的代码 当我在index.js中导入模块时,控制台返回[Function:checkSite],而不是值本身如何从Node.js中使用“http.get()”方法的函数返回值?,node.js,http,get,return-value,Node.js,Http,Get,Return Value,我有一个简单的HTTPGET函数,只需要在函数中返回响应,但现在这个函数返回void sitechecks.js中的代码 当我在index.js中导入模块时,控制台返回[Function:checkSite],而不是值本身 // Index.js var extSiteCheck = require('./sitechecks') // This console prints [Function: checkSite] instead of "OK" console.log(extSiteCh
// Index.js
var extSiteCheck = require('./sitechecks')
// This console prints [Function: checkSite] instead of "OK"
console.log(extSiteCheck.checkSite)
但是,如果我在函数中的http.get上添加return语句,控制台将打印undefined。所以我认为这个未定义是一个进步,但我不明白为什么它返回未定义
在checkSite函数中返回http.get
非常感谢您的帮助和提示。因为JavaScript中的回调是异步的,所以您不能从回调中返回 也就是说 console.logextSiteCheck.checkSite 在请求返回之前运行
您可以尝试在回调中记录控制台日志,而不是尝试返回值,以便在实践中看到这一点。但基本上,无论您试图通过get请求的结果实现什么,都需要在回调内部执行。您知道关于回调的好文档吗?链接、视频?关于JavaScript回调的一个很好的通用资源:;还有一个很棒的初学者Node.js研讨会:谢谢。非常感谢。
// Index.js
var extSiteCheck = require('./sitechecks')
// This console prints [Function: checkSite] instead of "OK"
console.log(extSiteCheck.checkSite)