如何在KoaJs / NodeJs中超时yield语句?

时间:2017-04-03 13:33:27

标签: node.js koa

我有一个声明,它通过收益率给出了结果,但在某些情况下,它在某种程度上不起作用,我的收益率一直在无限期等待,剩下的唯一解决方案就是重启应用程序。我想知道在KoaJs中通过yield获得结果时是否有任何设置超时的方法

var x = yield someFunction(par1)
return (x)

我的问题是,在极少数情况下,someFunction不返回任何值,我陷入了永恒等待的地狱

1 个答案:

答案 0 :(得分:1)

写一个超时承诺制造商:

yield new Promise(resolve => {
  someFunction(par).then(resolve);
  setTimeout(resolve, 5000);
});