Что делает эта функция? - PullRequest
0 голосов
/ 10 июля 2011
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.

Спасибо

1 Ответ

4 голосов
/ 10 июля 2011

Эта функция обрабатывает ответ (экземпляр класса ClientResponse), полученный через HTTP.

response.setEncoding('utf-8')

Указывает желаемую кодировку передачи (UTF-8).Чанки, переданные событию data, будут отправлены в этой кодировке.

response.on 'data', (chunk) -> output += chunk

Устанавливает обратный вызов для обработки чанков данных.Каждый «кусок» полученной строки добавляется к строковой переменной output.

response.on 'end', ->

Устанавливает другой обратный вызов, который действует на полностью переданные данные.

j = JSON.parse(output)
result = j.results[0]

Полученные данныепредполагается, что это JSON и анализируется как таковой.Извлекается первый элемент проанализированного массива.

cb(result)

Обратный вызов cb, первоначально предоставленный функции, вызывается с этими данными, найденными в объекте JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...