【问题标题】:Use a function inside an module.exports在 module.exports 中使用函数
【发布时间】:2012-09-11 11:29:37
【问题描述】:

我正在尝试构建一个包含以下功能的模块:

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

全部包含在 module.exports 中。该函数执行,但我无法从请求中的回调返回正文。

有什么建议吗?

【问题讨论】:

  • 您可能需要包含比这里更多的代码,请更加明确
  • @elbou:你不能在回调中returnrequest 的第二个参数是 callback,这是一个您发送给请求的函数,当它有您想要的数据时,它会为您请求 callback。您无法从那里返回,因为回调主体内的代码在另一个范围内(执行时间比您的请求调用后立即执行的代码晚得多)。您还需要使用回调作为调用函数的参数,并使用您的结果调用它。

标签: node.js coffeescript


【解决方案1】:

我认为你想要的是 parseJSON 函数。即使我可以直接使用此代码:

#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

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    相关资源
    最近更新 更多