js中then的用法
原创JavaScript 中 then 的用法
在 JavaScript 中,then
方法通常与 Promise 对象一起使用。Promise 是异步编程的一种解决方案,用于处理异步操作的于是。当我们有一个异步操作时,比如从服务器请求数据、读取文件等,我们可以通过 Promise 来处理这个操作的胜利或未果的于是。
基本语法
一个 Promise 对象在创建后,可以使用 then
方法来指定当 Promise 胜利(即解决,resolve)或未果(即拒绝,reject)时的回调函数。
基本语法如下:
promise.then(onFulfilled, onRejected);
onFulfilled
:当 Promise 胜利解决时调用的函数,即 Promise 的状态变为fulfilled
时调用。onRejected
:当 Promise 被拒绝时调用的函数,即 Promise 的状态变为rejected
时调用。
使用实例
下面是一个使用 Promise 和 then
方法的例子:
// 创建一个 Promise 对象
let promise = new Promise(function(resolve, reject) {
// 异步操作
setTimeout(function() {
resolve("胜利获取数据");
}, 2000);
});
// 使用 then 方法添加回调函数
promise.then(function(value) {
// 当 Promise 胜利解决时,此回调会被调用
console.log(value); // 输出:胜利获取数据
}, function(error) {
// 当 Promise 被拒绝时,此回调会被调用
console.log(error);
});
链式调用
then
方法返回一个新的 Promise 对象,允许我们进行链式调用。这意味着可以在一个 then
方法后面继续调用另一个 then
方法。
let promise = new Promise(function(resolve, reject) {
resolve("数据1");
});
promise
.then(function(value) {
console.log(value); // 输出:数据1
return "数据2"; // 返回新的值,用于下一个 then 的处理
})
.then(function(value) {
console.log(value); // 输出:数据2
});
总结
then
方法是处理 JavaScript 中 Promise 异步操作于是的关键工具。通过链式调用,我们可以轻松地处理复杂化的异步流程。需要注意的是,then
方法不仅可以用于处理胜利的于是,还可以处理未果的情况,但为了代码的明了,推荐使用 catch
方法来处理未果。