hell0w0rd
@hell0w0rd
Просто разработчик

Как переписать код с использованием Promise/yield?

http = require 'http'

module.exports = class Request
  get: (url, cb) ->
    http.get url, (res) ->
      body = ''
      res.on 'data', (chunk) ->
        body += chunk.toString()
      res.on 'end', () ->
        cb.apply res, [body]
  • Вопрос задан
  • 2677 просмотров
Пригласить эксперта
Ответы на вопрос 1
yield просто так использовать не получится, нужен хэлпер-спаун. Да и кофе не поддерживает генераторы. Promise? Нативные ES6 - что-то в стиле

http = require 'http'

module.exports = class Request
  get: (url) ->
    new Promise (resolve, reject)->
      req = http.get url, (res) ->
        body = ''
        res.on 'data', (chunk) ->
          body += chunk.toString()
        res.on 'end', ->
          resolve body
      req.on 'error', reject

и использовать

require(ваш_модуль).get(ваш_url)
  .then (страница)->
  .catch (ошибка)->
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы