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