promise 和 async/await 是两个常用的异步编程解决方案
一、区别
1.语法不同:promise 使用 then 和 catch 关键字,而 async/await 使用 async/await 关键字;
2.捕获异常操作不同:promise 在 catch 中捕获异常,而 async/await 在 try/catch 中捕获异常;
3.处理并发能力不同:promise 可以使用 promise.all并行处理多个异步请求,提高代码执行效率,而 async/await 只能串行执行异步操作
二、优势
1.promise,可以并行处理异步请求,但是要注意并发请求的数量
2.async/await 写法类似同步代码,减少了回调函数的嵌套,利于更好阅读和理解
三、总结
综上所述,promise 和 async/await 各有优势和劣势,在处理并发请求的时候可以使用 promise.all 来处理,更好的提高代码性能;单独处理异步结果的时候,可以使用 async/await 处理异步结果,代码结构更清晰易读;具体使用还是要根据自己的业务需求来决定