promise函数的用法
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的九大方法
宇松眨1435promise有些什么用法?
樊齿谦19517757585 ______ promise oneself 指望 keep promise 守信 show promise 有成功的希望 make a promise 允许;允诺 great promise 前程远大;大有前途 on a promise [英国英语]等待(消息、礼物等) promise to do 承诺做某事 promise to pay 付款承诺 solemn promise 庄严承诺;誓言 promise well 前景很好;很有希望 show great promise 大有前途,大有希望 break a promise 违反诺言 keep a promise 遵守诺言 promise yourself 承诺自己
宇松眨1435nodejs中promise怎么用 -
樊齿谦19517757585 ______ Javascript的特点是异步,Javascript不能等待,如果你实现某件需要等待的事情,你不能停在那里一直等待结果回来,相反,底线是使用回调callback:你定义一个函数,这个函数只有等到结果可用时才能被调用. 这种回调模型对于好的代码组织是没有问题的,但是也可以通过从原始回调切换到promise解决很多问题,将promise看成是一个标准的数据容器,这样会简化你的代码组织,可以成为基于promise的架构.
宇松眨1435求教commit 与 promise 的区别及用法.我会查词典,请不要把词典的翻译复制过来. -
樊齿谦19517757585 ______[答案] 二单词意为“保证”时 commit:及物动词,可以用于向某人保证亦可向自己保证 promise:及物动词;或不及物动词,即可以单独使用后不接修饰成分:如:I promise. 只能用于向他人做保证 promise 还可以作为名词使用
宇松眨1435promise的用法? -
樊齿谦19517757585 ______ promise sb to do sth ,答应别人做某事,是自己承诺自己会去为某人做某事
宇松眨1435promise 的用法
樊齿谦19517757585 ______ make a promise 许下诺言 keep one's promose 保守诺言 break one's promise 打破诺言,说话不算数 promise sb.to do sth. 答应某人做某事 n. 1.承诺,诺言[C][(+of)][+(that)][+to-v] Give me your promise that you'll never be late again. 答应我你绝不...
宇松眨1435promise的用法 -
樊齿谦19517757585 ______ n. 诺言,约定,希望 v. 允诺,约定,预示 [ 名词promiser ] [ 过去式promised 过去分词promised 现在分词promising 第三人称单数promises ] 例句与用法 1. John promises well as an actor. 约翰有希望成为演员. 2. I promise to return your bicycle ...
宇松眨1435promise的用法
樊齿谦19517757585 ______ promise KK: [] DJ: [] n. 1. 承诺,诺言[C][(+of)][+(that)][+to-v] Give me your promise that you'll never be late again. 答应我你绝不再迟到了.2. 希望,前途[U][S] The young man shows promise as a poet. 这位青年有成为诗人的希望. vt. 1. 允诺,答应...
宇松眨1435promise用法.最好有例句.不要太高深的,达到初中生要求即可. -
樊齿谦19517757585 ______ make a promise 许下诺言 keep one's promose 保守诺言 break one's promise 打破诺言,说话不算数 promise sb. to do sth. 答应某人做某事 n. 1. 承诺,诺言[C][(+of)][+(that)][+to-v] Give me your promise that you'll never be late again. 答应我你绝不...
宇松眨1435promise的用法,速求 -
樊齿谦19517757585 ______ 承诺,诺言[C][(+of)][+(that)][+to-v] Give me your promise that you'll never be late again. 答应我你绝不再迟到了. 2. 希望,前途[U][S] The young man shows promise as a po et. 这位青年有成为诗人的希望. vt. 1. 允诺,答应[+to-v][+that][O1][O5] He...
宇松眨1435求教commit 与 promise 的区别及用法. -
樊齿谦19517757585 ______ 二单词意为“保证”时 commit:及物动词,可以用于向某人保证亦可向自己保证 promise:及物动词;或不及物动词,即可以单独使用后不接修饰成分:如:I promise. 只能用于向他人做保证 promise 还可以作为名词使用