async和await究竟怎么用

看了很多博客,感觉都说不清楚,自己总结一下:

1. `async`关键字修饰的函数,会自动返回一个`Promise`对象。即使你没有return,也会返回一个空的`Promise`对象。这样就不必自己再去new Promise对象了。


2. `await`关键字只能在`async`函数内部使用,否则报错,原因是await需要在异步上下文中运行。await指向一个异步函数,解析这个异步函数的`Promise`对象的结果直到完成,并返回解析后的值。所以await指向的函数,必定是被async关键字修饰的异步函数或是已经自己主动返回了promise对象,不然怎么被await解析。解析完成后才继续执行后续代码,起到了使异步变同步的效果。


3. 使用`async`和`await`可以简化异步编程, `await`可以让异步操作以同步的方式执行,提供了更简洁直观的写法,使得异步编程更具可读性和可维护性。


4. 虽然`await`会暂停当前函数的执行,但它并不会阻塞整个 JavaScript 运行时环境,其他代码和事件仍然可以继续执行。
 

总的来说,`async`和`await`是用于处理异步操作的语法糖,它们使得异步代码更易于编写、理解和维护,同时提供了一种更接近同步代码的写法。

你可能感兴趣的:(javascript)