Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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
Javascript node.js:如何使用户从请求库返回数据_Javascript_Node.js_Asynchronous_Coffeescript - Fatal编程技术网

Javascript node.js:如何使用户从请求库返回数据

Javascript node.js:如何使用户从请求库返回数据,javascript,node.js,asynchronous,coffeescript,Javascript,Node.js,Asynchronous,Coffeescript,我试图使用库来同步返回HTTP请求的主体,但在流方面遇到了问题 我编写了一个非常简单的助手函数: getPage = (url, callback)-> request(url, (error, response, body) -> if error callback(error, null) if not error and response.statusCode is 200 console.

我试图使用库来同步返回HTTP请求的主体,但在流方面遇到了问题

我编写了一个非常简单的助手函数:

getPage = (url, callback)->
    request(url, (error, response, body) ->
        if error
            callback(error, null)
        if not error and response.statusCode is 200
            console.log ("got here")
            callback(null, body)
    )
如果我想将其转换为同步调用,是否只需执行以下操作:

syncRequest = fibrous((url)->
    console.log(sync.getPage("http://www.google.com"))
)

如果没有,那么什么是构造代码的正确方法,以便获得请求的同步调用?

好的,我使用以下代码得到了这个结果:

syncGETRequest = fibrous((url, options)->
    data = request.sync.get(url, options)
    console.log(data)
)

runTest = ()->
    syncGETRequest.sync("http://www.google.com", {})

fibrous.run(runTest)