Я пытаюсь переписать сценарий hubot, используя сценарий со льдом кофе. Вот мой оригинальный регулярный (горячий?) CoffeeScript код:Как использовать ScopedClient с Iced CoffeeScript
getHost = (msg, artifact, cb) ->
url = "http://myapi.org/api/hosts-for/artifact/#{artifact}"
msg.http(url)
.get() (err, res, body) ->
cb(body)
Обратите внимание, что msg.http() делает вызов HTTP-клиент контекстного который вы можете найти здесь: https://github.com/technoweenie/node-scoped-http-client
Я хотел бы превратите это в функцию, которая не использует обратный вызов, но ждет ответ api и возвращает его. Вот моя попытка преобразовать выше в ICS:
getHostAwait = (msg, artifact) ->
url = "http://myapi.org/api/hosts-for/artifact/#{artifact}"
await msg.http(url)
.get() (err, res, body) ->
defer(body)
body
Однако тело не кажется, возвращается (это не определено). Как я могу заставить этот код работать?