个人对promise理解

1、执行异步操作,

首先应该先创建一个 new Promise()实例,它有一个函数做为参数,这个函数有两个参数:resolve,reject. 请求的url,method,data都在这个函数中执行。

then()方法,它的作用是为 Promise 实例添加状态改变时的回调函数。then方法的第一个参数是resolved状态的回调函数,第二个参数(可选)是rejected状态的回调函数。

当状态由pending变成fulfilled时,执行then()里面的resolved(),当pending状态变成reject状态时,执行catch()里面的reject(),同时,catch()方法还能捕获到then()方法里面的错误。

只有异步操作连接成功之后,才会执行then()里面的回调函数,这样就可以实现当我去餐厅点单之后,我不用一直在哪等,而是可以直接去超市买东西,等餐厅告诉我“您的单好, 您可以来取了” 我就可以回到餐厅取餐,这样相同的时间内,我干了两件事情,而不用像以前,必须取完餐之后,再去超市买东西,这样的异步操作,大大节省的时间。

2、pormise.all() 可以同时进行多个异步操作,

3、promise.race()可以在几个异步操作中比赛,谁先执行完就先回调谁的函数

 

你可能感兴趣的:(js)