首页 >>  正文

promise+any

来源:baiyundou.net   日期:2024-08-06

1、promise.resolv

 

静态方法 Promise.resolve(value)可以认为是 new Promise方法的语法糖,比如Promise.resolve(42) 可以认为是以下代码的语法糖。

 

new Promise(function (resolve) {

    resolve(42)

})

这个静态方法会让Promise对象立即进入确定(即resolved) 状态,并将42传递给后面 then 里所指定的 onFulfilled函数。

 

2、promise.reject

 

Promise.reject(error)是和Promise.resolve(value)类似的静态方法,是 new Promise 方法的快捷方式。比如 Promise.reject(new Error("Promise reject error")) 就是下面代码的语法糖形式

 

new Promise(function (reject) {

    reject(new Error("Promise reject error"))

})

它的功能是调用该 Promise对象通过then指定的 onRejected函数,并讲错误(Error)对象传递给这个onRejected函数

 

3、promise.then

 

Promise.then(onFulfilled, onRejected)

① 函调函数异步执行

Promise/A+规范统一规定:Promise 只能使用异步调用方式

② 返回值

Promis.then不仅仅是注册一个回调函数那么简单,它还会将回调函数的返回值进行变换,创建并返回一个Promise 对象。正是 then函数中有了这样返回值的机制,才能使得在整个Promise链式结构当中,每个then方法都能给 下一个then方法传递参数

③ promise穿透

 

4、promise.catch

 

① 语法糖的本质

Promise.catch只是promise.then(undefined, onRejected) 方法的一个别名而已。也就是说,这个方法用来注册当Promise对象状态变为 Rejected时 的回调函数

第一种写法

Promise.resolve()

  .then((data) => console.log(data))

  .then(undefined, (err) => console.log(err));

 

第二种写法

Promise.resolve()

  .then((data) => console.log(data))

  .catch((err) => console.log(err));

 

② 只有一个主人

整个Promise链中,catch只属于异步触发它当中回调函数 执行的那个Promise,并不属于所有 Promise

 

5、promise.finally

 

promise.finally方法的回调函数不接受任何参数,这意味着finally没有办法 知道,前面的Promise状态到底是fulfilled还是rejected 。这表明,finally方法里面的操作,应该是与Promise状态无关的,不依赖于 Promise的执行结果。

 

6、promise.all

 

Promise.all接受一个promise对象的数组作为参数,当这个数组里的所有 Promise 对象 全部变为resolve或者reject状态的时候,它才会去调用.then方法。

传递给Promise.all的 promise并不是一个个的顺序执行的,而是同时开始、并行执行的。

 

7、promise.allSettled

 

Promise.allSettled()的入参和Promise.all、Promise.race一样,接受一个promise 对象的数组作为参数,也是同时开始、并行执行的。但是Promise.allSettled的返回值需要注意以下几点:

Promise.allSettled不会走进catch,当所有输入Promise都被履行或者拒绝时, statusesPromise 会解析一个具有具体完成状态的数组

Promise.allSettled()在你需要执行平行和独立的异步操作并收集所有结果时非常有效, 即使某些异步操作可能失败。

 

8、promise.race

 

Promise.rece()的使用方法和 Promise.all一样,接收一个promise 对象的数组为参数,Promise.race是要有一个promise对象进入Fulfilled或者 Rejected状态的话,就会继续进行后面的处理。这里依旧有两个点要注意:

和Promise.all一样是所有数组当中的Promise同时并行的

Promise.race 在第一个Promise对象变为Fulfilled之后,并不会 取消其他promise对象的执行。

Promise.race接受的是一个Promise对象数组,但是返回的确实最先完成Fulfilled 或者最先被Rejected的一个Promise的结果

 

9、promise.any

 

Promise.any的入参和Promise.all、Promise.race、Promise.allSettled一样, 接收一个promise对象的数组作为参数。

","gnid":"99b672bdcf4f63a0d","img_data":[{"flag":2,"img":[{"desc":"","height":518,"title":"","url":"https://p0.ssl.img.360kuai.com/t012ec4533850b75233.jpg","width":877}]}],"original":0,"pat":"art_src_0,fts0,sts0","powerby":"pika","pub_time":1710231954000,"pure":"","rawurl":"http://zm.news.so.com/edc050804c5eaf5ea2fbedd7a1e03938","redirect":0,"rptid":"cbd9272e7816c465","rss_ext":[],"s":"t","src":"HOOBOO青柠","tag":[],"title":"Promise的九大方法

乜绿幸3390promise的用法
钱新旺13766195474 ______ 语法标注解释 promise英音:['prɔmis]美音:['prɑmɪs] 以下结果由译典通提供词典解释 名词 n. 1. 承诺,诺言[C][(+of)][+(that)][+to-v] Give me your promise that you'll never be late again. 答应我你绝不再迟到了. 2. 希望,前途[U][S] The young ...

乜绿幸3390i promise i won't do anything stupid是什么意思 -
钱新旺13766195474 ______ I promise I won't do anything stupid.我保证我不会做任何愚蠢的事.说明:promise许诺;承诺;答应;保证 Promise not to tell anyone!你要保证不告诉别人!stupid 欠考虑的;糊涂的 I was stupid enough to believe him.我可真够糊涂的,竟然相信他的话.

乜绿幸3390promise(允许)+to do sth 还是doing sth如题 谢谢了 -
钱新旺13766195474 ______ promise sb.to do sth promise doing sth

乜绿幸3390pinky promise是什么意思? -
钱新旺13766195474 ______ pinky promise:拉钩的意思 Any promise sealed by a pinky-promise shall NEVER be broken!任何事情只要拉钩就得算数!

乜绿幸3390Promise You 的音译 -
钱新旺13766195474 ______ 그 어밴같yi' ggum'deul' 떠밀려가듯 사 해도 neul' ham' 그치던 [俊秀]:go': 크게 웃 울림 Any Talk & Any Play Oh~ Any Love[All];아 na'janh'a' I don't give up 내yeo'di' 더 크게 웃어봐 널 위한 세상은 deo' keu'ge' us'eo'bwa' neol' wi'han' se'sang'eun'...

乜绿幸3390翻译:promise don't come easy -
钱新旺13766195474 ______ 歌手:Caron Nightingale 卡洛•纳婷格丽歌曲: PROMISE DON'T COME EASY 不要轻信诺言(承诺来之不易)I should have known all along 我应该一直知道There was somethin...

乜绿幸3390Promise You 的音译
钱新旺13766195474 ______ 가수: 애니밴드 (Anyband) 곡명: Promise You 앨범: 애니밴드 (Anyband) 보 아: 자 귀 기울여 봐 늘 같은 시간에 쫓겨 [BOA]:ja' gwi' gi'ul'yeo' bwa' neul' gat'eun' si'gan'e' jjoc'gyeo' 등 떠밀려가듯 사라질 수는 없잖아 deung' ddeo'mil'ryeo'ga'deus' sa'ra'...

乜绿幸3390promise有些什么用法? -
钱新旺13766195474 ______ 朋友说不久前听一个朋友七岁的女儿弹琴,颇有天才.那位钢琴老师说:She has high promise of a pianist(大有希望成为钢琴家.)此外称一个人大有前途,除high promise外,常见的还有bright, ...

乜绿幸3390AnyBand《TPL》DE《promise U》中文歌词 ? -
钱新旺13766195474 ______ TPL BoA: Anywhere you go, anywhere you go, anywhere you go I'll be there Tablo: Anywhere you wanna go BoA: Anywhere you go, anywhere you go, anywhere you go I'll be there Tablo: Anywhere you wanna go Tablo: Hybrid~! BoA: 我粗重的呼吸...

乜绿幸3390AnyBand《TPL》&《promise U》中文歌词 -
钱新旺13766195474 ______ 这个寔韩文的 TPL 보 아: Anywhere you go, anywhere you go, anywhere you go I'll be there 타블로: Anywhere you wanna go 보 아: Anywhere you go, anywhere you go, anywhere you go I'll be there 타블로: Anywhere you wanna go 보 아: 거친 내 숨소...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024