比如,需要在某个点击事件中先判断手机是否联网,若断网则弹出提示并停止运行后面的程序。如果将这个功能提取出来再在点击时调用,发现return并没有阻止上层函数的运行。
const checkMobileOnline = () => {
if (!navigator.onLine) {
Toast.info('网络不可用', 2);
return
}
}
有个可以变通的方法是在需要停止的子程序中抛出异常,即可停止代码运行:
const checkMobileOnline = () => {
if (!navigator.onLine) {
Toast.info('网络不可用', 2);
// throw代替return可以实现阻止外层程序运行
throw console.info('~~手机没网,停止这个操作');
}
}
参考网址:https://blog.csdn.net/Leisurelyc/article/details/105772565