📜  .then(async (1)

📅  最后修改于: 2023-12-03 15:13:04.480000             🧑  作者: Mango

'.then(async' - 异步操作使用

在JavaScript异步编程中,.then()async/await是两个最基本和最重要的关键词。.then()函数用于回调函数的调用和异步操作的结果处理。async/await关键词则是ES8新增的语法,使得异步操作的代码更简单和更易读。

.then()函数是一个非阻塞函数,它接受一个参数 - 回调函数。当一个异步操作完成后,会调用回调函数,并且将异步操作的结果传递给回调函数。.then()链式调用非常常见,它的传递性可以让我们像"水管"一样,从一个函数水管流入另一个函数的水管。这个设计思想是很简单的:将处理分离开,使得程序更加的易读和代码更少出现嵌套式函数。

下面是一个使用.then()函数的例子:

fetch('https://jsonplaceholder.typicode.com/todos/1')
  .then(response => response.json())
  .then(json => console.log(json))
  .catch(error => console.error(error))

上面的代码中,fetch函数是一个异步的API调用,返回Promise对象。.then()函数将处理Promise对象,并使用两个回调函数来处理Promise的结果。

async/awaitPromise的语法糖,它进一步简化了Promise的风格和语法。

下面是使用async/await给相同的API实现相同的功能的代码:

async function getJSON() {
  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/todos/1')
    const json = await response.json()
    console.log(json)
  } catch(error) {
    console.error(error)
  }
}
getJSON()

从上面的代码可以看出,使用async/await可以使得异步编程更加的直观,易读和理解。

.then()函数和async/await都是异步编程中必不可少的关键词,这两种方式在处理异步操作时非常有用和有效。但是,对于不同场景和不同的异步操作,我们应该选择不同的编程模型。感谢使用.then()async/await,我们可以在JavaScript中轻松处理异步操作。