【发布时间】:2016-06-24 17:27:41
【问题描述】:
考虑这个使用异步请求的生成器(即:superagent):
static * findOne (model, id) {
const url = [this.host, model].join('/')
let res
yield request
.get(url)
.end((err, resp) => {
res = resp
})
return res
}
这感觉很笨拙……设置 res,然后在异步操作后更新它的值。有没有更清洁、更严格的方法来做到这一点?
我知道我可以使用一个 Promise 并产生它……但似乎没有增加价值,只是意味着我有更多的代码和嵌套在 Promise 函数参数中
我知道我不能在 end() 可链接的 ...
接受建议...
【问题讨论】:
-
你必须使用超级代理吗?生成器要插入什么框架?
-
.end(…)返回什么(可屈服的)?看起来已经很像一个承诺了。 -
我不必使用 superagent,但我更喜欢它的 api 的简单性、一致性和简洁性。返回产生的值是一个http响应对象
标签: javascript ecmascript-6 generator