async await一直等待的问题
async function a (cb) {
await dosomething();
cb();
}
\n```
上面代码里面,如果dosomething卡住了,一直不返回,这个时候下面的cb就一直不会执行,这样就卡住了,有什么办法可以解决这个问题?
有遇到过这种问题的朋友吗?有经验的话请不吝赐教,谢谢!
7 回复
这……只能解决 dosomething卡住的问题了。 这里就相当于同步执行代码,你在dosomething这里打个断点,代码走到断点这里,你不执行下一步。cb能执行么?
@imhered dosomthing里面调用的东西,自己不能控制,所以才想从await本身入手,看看有没有办法处理。
@wuzhizhemu 应该是无解。只能控制dosomething
既然你await了dosomething,那么应该是需要dosomething运行成功吧。如果不需要的话就直接去掉await,就会直接继续运行了 自豪地采用 CNodeJS ionic
用Promise.race做一个超时任务响应嘛
dosomething弄一个超时异常,然后做try catch