我没法用比较标准的说法给你解释,我尽可能按我理解的说
开始
我一直很不理解什么叫“用同步的思想解决异步的问题”这句话,很抽象,一直不理解
我有一个项目的代码在服务端运行需要同步调用接口,在客户端运行需要异步调用接口(其实都同步也可以,但是客户端为了提升体验)
JS函数式编程嘛~我写了一个函数(如下,我手写,肯定不能运行)
async get(async) {
if (!async) {
return await axios.get();
}
return axios.get();
}
大概就是这样吧,我的意思其实就是,如果不是异步,就把这个同步的promise返回,如果不然,就直接返回一个promise
调用的时候直接调用get(),不写await(PS:留下了没有智商的泪水)
然后我就发现自己太天真了,根本不是我理解的那样,无论传什么参数,都会返回axios.get();
然后我就想
async:让一个函数(函数本身是同步执行)变成异步
await:等待一个异步函数的return
也就是说,await在等一个承诺(promise),这个承诺就是:
1.你等等我
2.你先去,我一会就来
MD,好像找不到什么语言说清楚...反正我理解了