我有一个声明,它通过收益率给出了结果,但在某些情况下,它在某种程度上不起作用,我的收益率一直在无限期等待,剩下的唯一解决方案就是重启应用程序。我想知道在KoaJs中通过yield获得结果时是否有任何设置超时的方法
var x = yield someFunction(par1)
return (x)
我的问题是,在极少数情况下,someFunction不返回任何值,我陷入了永恒等待的地狱
答案 0 :(得分:1)
写一个超时承诺制造商:
yield new Promise(resolve => {
someFunction(par).then(resolve);
setTimeout(resolve, 5000);
});