【发布时间】:2015-07-02 06:18:40
【问题描述】:
例如:
var app = require('koa')();
app.use(function *(next) {
var start = new Date();
yield next;
});
app.use(function *(next) {
var result = yield loadData();
this.body = result;
});
app.listen(8080);
假设如果loadData返回数据超过1秒,那么我想要this.body = 'there is a timeout'。我怎么能做到这一点?我不认为setTimeout 能够处理这个问题。我尝试了this.response.setTimeout 函数,但它说setTimeout 是未定义的。感谢您的任何建议
【问题讨论】:
-
刚刚查找了
npm注册表并找到了这个包:koa-timeout。看起来像你想要的。 -
感谢您的建议,但我认为这不能解决我的问题。也许我没有详细描述我的问题。无论如何将
loadData转换为异步函数?当异步函数返回结果时,我想将结果提供给this.body。似乎没有办法......有什么建议吗?我必须为loadData函数编写c++ 代码吗?