async await一直等待的问题
发布于 7 年前 作者 wuzhizhemu 6910 次浏览 来自 问答
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

回到顶部