(滴滴、挖财、微医、海康)JS 异步解决方案的发展历程以及优缺点。 回调函数 优点:解决了同步的问题(整体任务执行时长); 缺点:回调地狱,不能用 try catch 捕获错误,不能 return; Promise 优点:解决了回调地狱的问题; 缺点:无法取消 Promise,错误需要通过回调函数来捕获; Generator 特点:可以控制函数的执行。 Async/Await 优点:代码清晰,不用像 Promise 写一大堆 then 链,处理了回调地狱的问题; 缺点:await 将异步代码改造成同步代码,如果多个异步操作没有依赖性而使用 await 会导致性能上的降低;