Node.js 在模块内使用函数。导出

Node.js 在模块内使用函数。导出,node.js,coffeescript,Node.js,Coffeescript,我试图构建一个模块,其中包含以下函数: request urlString, (error, response, body) -> return JSON.parse(body) if !error && response.statusCode == 200 它都包含在module.exports中。函数执行,但我无法从请求中的回调返回主体 有什么建议吗?我想你想要的是parseJSON func。即使我可以直接使用此代码: #file reque

我试图构建一个模块,其中包含以下函数:

    request urlString, (error, response, body) ->
        return JSON.parse(body) if !error && response.statusCode == 200
它都包含在module.exports中。函数执行,但我无法从请求中的回调返回主体


有什么建议吗?

我想你想要的是parseJSON func。即使我可以直接使用此代码:

#file requestJSON.js


requestJSON = (urlString, callback)->
    request urlString, (error, response, body) ->
        if !error && response.statusCode == 200
            bodyJSON = JSON.parse body
        calllback error,bodyJSON
        return

module.exports=requestJSON


#file requestJSON.usage.js

requestJSON = require "./requestJSON"
requestJSON "json API", (error,jsonData)->
    console.log jsonData
    return

您可能需要包含比此处更多的代码,请输入更多explicit@elbou:您不能从回调中
返回
request
的第二个参数是回调,一个发送到request的函数,当request拥有所需数据时,它会为您回调。您不能从那里返回,因为回调函数体中的代码位于另一个作用域中(执行的时间远远晚于请求调用之后的代码)。您还需要使用回调函数作为调用函数的参数,并使用结果调用该函数。