await async 和console方法的执行顺序
时间: 2024-09-17 11:04:52 浏览: 72
`await` 和 `async` 是 JavaScript 中用于处理异步操作的关键字,它们通常与 `Promise` 或者 `async/await` 函数一起使用。
`async` 关键字用于声明一个函数,表明这个函数会返回一个 Promise,并且可以使用 `await` 来暂停当前函数的执行,直到所等待的 Promise 完成。当遇到 `await` 语句时,JavaScript 引擎会暂停当前任务,然后继续执行下一行代码,等到 Promise 解决(resolve)或者拒绝(reject)后再恢复执行。
`console.log()` 方法则是一个同步操作,它会在代码运行过程中立即打印信息到控制台,不会阻塞其他代码的执行。
所以,在一个包含 `async` 函数和 `await` 的上下文中,`console.log()` 会先于 `await` 语句执行,因为异步操作是在其后的。例如:
```javascript
async function logAndAwait() {
console.log('Start');
await new Promise((resolve) => setTimeout(resolve, 1000)); // 等待一秒
console.log('End');
}
logAndAwait();
```
在这个例子中,你会看到 "Start" 先在控制台上打印出来,然后是一秒后 "End" 打印,尽管 `await` 暂停了 `logAndAwait` 函数,但 `console.log('Start')` 还是非阻塞地执行了。
阅读全文