我試圖用冰咖啡腳本重寫一個hubot腳本。這是我原來的規則(熱?)的CoffeeScript代碼:如何使用帶冰咖啡腳本的ScopedClient
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
但是,身體似乎沒有返回(它是未定義的)。我如何獲得此代碼的工作?