js异步then用法

js异步then用法


2024年6月6日发(作者:)

js异步then用法

在JavaScript中,Promise对象的then方法用于指定当Promise

对象的状态变为resolved(已解决)时执行的回调函数。它接

受一个或两个参数:onResolved和onRejected。

1. 一个参数的情况:

```javascript

(onResolved)

```

在Promise对象的状态变为resolved时,会调用onResolved

函数。onResolved函数的参数是Promise对象的解析值。

2. 两个参数的情况:

```javascript

(onResolved, onRejected)

```

在Promise对象的状态变为resolved时,会调用onResolved

函数;在Promise对象的状态变为rejected(已拒绝)时,会

调用onRejected函数。onResolved函数的参数是Promise对象

的解析值,onRejected函数的参数是Promise对象抛出的错误。

then方法返回一个新的Promise对象。因此,可以对then方法

进行链式调用,以便处理连续的异步操作。例如:

```javascript

(onResolved1, onRejected1)

.then(onResolved2, onRejected2)

.then(onResolved3, onRejected3)

.catch(onError)

```

这里的onResolved1、onResolved2、onResolved3分别是

Promise对象的解析值被处理的回调函数,onRejected1、

onRejected2是Promise对象抛出错误时的处理函数,onError

是捕获到所有错误的处理函数。

当然,then方法也可以通过返回一个新的Promise对象来实现

中断链式调用。在回调函数中返回一个新的Promise对象,后

续的then方法将会等待这个新的Promise对象的状态变化。例

如:

```javascript

(onResolved1)

.then(function(value){

// 处理value

return new Promise(function(resolve, reject){

// 异步操作

if (success){

resolve(result);

} else {

reject(error);

}

});

})

.then(onResolved2)

.catch(onError)

```

在第二个then方法的回调函数中返回了一个新的Promise对象,

后续的then方法将等待这个新的Promise对象的状态变为

resolved或rejected后继续执行相应的回调函数。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1717603626a2740868.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信