JavaScript 中的 then() 函数是什么意思

jsJava

1个回答

写回答

小布点22

2025-06-25 01:15

+ 关注

Java
Java

JavaScript 中的 then() 函数是用于处理 Promise 对象的方法。Promise 是一种用于处理异步操作的对象,它可以将异步操作的结果分为两种状态:已完成和已拒绝。then() 函数可以在 Promise 对象的状态发生变化时执行特定的代码,根据 Promise 对象的状态来决定执行不同的操作。

使用 then() 函数处理已完成的 Promise

当 Promise 对象的状态变为已完成时,then() 函数会执行与之关联的回调函数。回调函数可以接收 Promise 对象的返回值作为参数,并在其中进行相应的操作。下面是一个简单的例子,展示了如何使用 then() 函数处理已完成的 Promise:

Javascript

function getData() {

return new Promise((resolve, reject) => {

setTimeout(() => {

const data = '这是从服务器获取的数据';

resolve(data);

}, 2000);

});

}

getData()

.then((data) => {

console.log('成功获取到数据:', data);

// 在这里可以对获取到的数据进行处理

})

.catch((error) => {

console.error('获取数据失败:', error);

});

在上面的代码中,我们定义了一个名为 getData 的函数,该函数返回一个 Promise 对象。在 Promise 对象的构造函数中,我们使用 setTimeout 函数模拟了一个异步操作,2 秒后将数据返回给 Promise 对象的状态变为已完成。然后,我们调用 then() 函数来处理已完成的 Promise,其中的回调函数接收到了从服务器获取的数据,并在控制台输出。

使用 then() 函数处理已拒绝的 Promise

当 Promise 对象的状态变为已拒绝时,then() 函数会执行与之关联的回调函数。回调函数可以接收一个错误对象作为参数,并在其中进行相应的错误处理。下面是一个简单的例子,展示了如何使用 then() 函数处理已拒绝的 Promise:

Javascript

function getData() {

return new Promise((resolve, reject) => {

setTimeout(() => {

const error = '无法连接到服务器';

reject(error);

}, 2000);

});

}

getData()

.then((data) => {

console.log('成功获取到数据:', data);

})

.catch((error) => {

console.error('获取数据失败:', error);

// 在这里可以进行错误处理

});

在上面的代码中,我们定义了一个名为 getData 的函数,该函数返回一个 Promise 对象。在 Promise 对象的构造函数中,我们使用 setTimeout 函数模拟了一个异步操作,2 秒后将错误信息返回给 Promise 对象的状态变为已拒绝。然后,我们调用 then() 函数来处理已拒绝的 Promise,其中的回调函数接收到了错误对象,并在控制台输出。

then() 函数是 JavaScript 中用于处理 Promise 对象的方法。它可以根据 Promise 对象的状态来决定执行不同的操作,当 Promise 对象的状态变为已完成时,then() 函数会执行与之关联的回调函数;当 Promise 对象的状态变为已拒绝时,then() 函数会执行与之关联的回调函数。通过使用 then() 函数,我们可以更好地处理异步操作的结果,并进行相应的操作或错误处理。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号