parseResponse = (response, cb) ->
output = ''
response.setEncoding('utf8')
response.on 'data', (chunk) -> output += chunk
response.on 'end', ->
j = JSON.parse(output)
result = j.results[0]
cb(result)
我试图理解它在做什么以及为什么它在我正在使用的模块中是必要的。传入的响应来自 http get。
谢谢
最佳答案
此函数处理通过 HTTP 接收的响应(ClientResponse
类的实例)。
response.setEncoding('utf-8')
表示所需的传输编码 (UTF-8)。传递给 data
事件的 block 将以此编码发送。
response.on 'data', (chunk) -> output += chunk
设置用于处理数据 block 的回调。接收到的字符串的每个“ block ”都会附加到output
字符串变量中。
response.on 'end', ->
设置另一个回调,该回调作用于完全传输的数据。
j = JSON.parse(output)
result = j.results[0]
假设接收到的数据是 JSON 并按此解析。检索已解析数组的第一个元素。
cb(result)
使用 JSON 对象中找到的数据来调用最初提供给函数的回调 cb
。
关于javascript - 这个函数是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6639251/