能省吗?一直以来,困扰我的一个问题就是JavaScript是否可以实现不带await的异步。我今天终于想通了。之前就知道在JavaScript中同步获取异步执行的结果,必须使用await;在for循环中,如果不使用Promise.All,异步将不起作用。但是每次需要等待执行结果的时候,都需要带上async和await。我觉得太麻烦了,也不好看。把这两个字的写法背下来就好了。如果不背,每拼错一次,思路就会被打断,突然冒出这样的字,很不美观。所以我一直致力于解决这个问题,作为一个经常以造轮子为荣的程序员,我觉得为改变JavaScript做出一点小小的贡献是我的责任。请看下面的代码。consttrans=require('node-google-translate-skidz');functiontranslate(str,strEn,tarEn){letp=()=>{returnnewPromise((resolve,reject)=>{trans({text:str,source:strEn?strEn:'zh',目标:tarEn?tarEn:'en'},function(result){resolve(result.translation)});})}letan=async()=>{letb=awaitp()console.log(b);}returnan()//console.log(b)}letc=translate('Chinese')console.log('c',c)这段代码可能是我能想到的解决异步问题的最佳方案,答案还是没有成功。但是我终于知道为什么在JavaScript中,不管你怎么包装,无论你使用什么技术,你都无法真正避免async和await。查看调用translate方法的地方,调用后打印翻译结果。这样做的目的当然是希望打印结果。如果打印的是Promise{
