async/await调试时报错:await is a reserved word
最近修改前一段时间敲的代码,里面有一段关于async/await的语法引用出现了问题。async 和 await 作为JS的新语法,始于ES2017,其具体用法及个中魅力,推荐参考理解 async/await,前辈已做详细介绍。
但是这次使用,出现了一个先前没有遇到过的报错,代码如下:

需求很简单,只是想在异步函数getUserRoleResource执行之后,再进行数组branchTableData的push操作,当然,push操作放在异步函数getUserRoleResource之中,其实是更规范的,我也已经改过。但是这种写法逻辑上本身也是支持的,但是控制台编译报错,提示我await is a reserved word:

控制台报的语法错误
其实仔细想来也很简单,await命令需要严格放在关键字async定义的函数中执行的,async虽然被我用到了doEditRootBranchDomain函数前,但是具体的等待await命令,却被我放在了branchDomains数组的forEach函数之中,二者分离,导致报错。具体的修改方法应该将async放在数组forEach方法的回调函数前,确保async和await针对同一个函数定义执行。

自己简单地记下这个问题吧,下次注意点。