Promise简书

作者&投稿:瞿政 (若有异议请与网页底部的电邮联系)
~

promise是什么?

1、主要用于异步计算

2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果

3、可以在对象之间传递和操作promise,帮助我们处理队列

为什么会有promise?

为了避免界面冻结(任务)

同步:假设你去了一家饭店,找个位置,叫来服务员,这个时候服务员对你说,对不起我是“同步”服务员,我要服务完这张桌子才能招呼你。那桌客人明明已经吃上了,你只是想要个菜单,这么小的动作,服务员却要你等到别人的一个大动作完成之后,才能再来招呼你,这个便是同步的问题:也就是“顺序交付的工作1234,必须按照1234的顺序完成”。

异步:则是将耗时很长的A交付的工作交给系统之后,就去继续做B交付的工作,。等到系统完成了前面的工作之后,再通过回调或者事件,继续做A剩下的工作。

AB工作的完成顺序,和交付他们的时间顺序无关,所以叫“异步”。

resolve作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;

reject作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

1、pending[待定]初始状态

2、fulfilled[实现]操作成功

3、rejected[被否决]操作失败

当promise状态发生改变,就会触发then()里的响应函数处理后续步骤;

promise状态一经改变,不会再变。

Promise对象的状态改变,只有两种可能:

从pending变为fulfilled

从pending变为rejected。

这两种情况只要发生,状态就凝固了,不会再变了

1.Promise.all() 批量执行

Promise.all([p1, p2, p3])用于将多个promise实例,包装成一个新的Promise实例,返回的实例就是普通的promise

它接收一个数组作为参数

数组里可以是Promise对象,也可以是别的值,只有Promise会等待状态改变

当所有的子Promise都完成,该Promise完成,返回值是全部值得数组

有任何一个失败,该Promise失败,返回值是第一个失败的子Promise结果

常见用法:

异步操作和定时器放在一起,,如果定时器先触发,就认为超时,告知用户;

例如我们要从远程的服务家在资源如果5000ms还没有加载过来我们就告知用户加载失败

2.Promise.race()
与 Promise.all 类似,但只等待第一个 settled 的 promise 并获取其结果(或 error)。
3.Promise.allSettled()
等待所有的 promise 都被 settle,无论结果如何。结果数组具有:

4.Promise.resolve()
Promise.resolve(value) 用结果 value 创建一个 resolved 的 promise。

5.Promise.reject()
Promise.reject(value) 用结果 value 创建一个 rejected 的 promise。

现实中的用法

回调包装成Promise,他有两个显而易见的好处:

1、可读性好

2、返回 的结果可以加入任何Promise队列

原文地址: https://www.jianshu.com/p/1b63a13c2701
可参考: https://zh.javascript.info/promise-api




Promise简书
1.Promise.all() 批量执行 Promise.all([p1, p2, p3])用于将多个promise实例,包装成一个新的Promise实例,返回的实例就是普通的promise 它接收一个数组作为参数 数组里可以是Promise对象,也可以是别的值,只有Promise会等待状态改变 当所有的子Promise都完成,该Promise完成,返回值是全部值得数组 有...

简书上传图片的方法(转发留存)
\/\/ 图片上传的函数,返回Promise,Promise的callback里面必须resolve({urls})表示成功,否则表示失败 return new Promise((resolve, reject) => { promise.then(_ => { \/\/ console.log(this.data.promisePics) resolve({ urls: this.data.promisePics }) \/\/ 清空上传图片队列 this.setData({ promisePics: [] ...

英语听说考试part c是用中文速记好还是用英语缩写好?
当关键词一显示出来的时候,你迅速下笔【goose kill hide notice promise】瞅一眼倒计时,倘若还有时间剩下,则在纸上写出梗概中包含的人名【Tom】居然还有时间?那就把梗概中的重要名词动词翻译出来写下吧【cook teacher Chrismas】作者:两只鲤鱼 链接:https:\/\/www.jianshu.com\/p\/a5ce3bd49c92 来源...

如何组建创业团队
2、认同Chemistry,要找那些价值观一致,互相理解的人一起做事。一起创业的人,要有渊源,要有认同。3、求同存异promise,一个优秀的创业公司,要具备求同存异的创业文化。要敢于争议,也要乐于妥协。要能跟老大拍桌子,也要坚决地执行老大的指示。没有妥协精神,没有高度的默契,那是不行的,要建立...

小白准备转行学习前端,有大神可以提一些建议吗
Promise 异步编程解决方案,class 类,module 模块化,module 的导入导出、注意事项,NodeJS 指令相关,Babel 编译器相关,webpack 相关 HTTP 协议、Ajax、XHR、本地存储、跨域、async\/await (opens new window) HTTP 相关概念,HTTP 常用方法,HTTP 状态码,本地存储(cookie 的属性,编码与解码,sessionStorage\/localStorage...

微地形塑造是挖方还是填方?如何计算
填方:填方指的是路基表面高于原地面时,从原地面填筑至路基表面部分的土石体积。挖方:指的是路基表面低于原地面时,从原地面至路基表面挖去部分的土石体积。在简书里,也找到一篇 基于GIS的填挖方平衡分析 的文章,并给出了在ArcGIS软件中的实操。本文着重要介绍的是在Cesium中如何计算填方与挖方,其中...

章贡区18872124300: js中promise到底怎么用 -
狂邢大川: 我举个生活中的例子吧,比如说你去麦当劳买吃的,你下订单后,会给你一个小纸条,这个小纸条相当于你和麦当劳之间的约定,这个小纸条也可以理解为你所定的餐的一个占位符.等麦当劳饭做好了的时候,会吧饭送到你面前,并且把小纸条收走. 这个如果在代码中的话,就意味着,你在执行代码的时候,可能会在未来某个时刻才会取到值(异步),等在值取到以后,会进行一些相应的处理,比如说ajax,这实际上就是promise的一个典型的应用场景. 我刚刚只是说了promise的一个大的应用场景,我觉得只要能把握住这个,具体的API就可以了. 假如你想对它的使用有一个更深入的了解的话,我还可以推荐你一个小文章: Javascript基础之-Promise 加油

章贡区18872124300: PROMISE中文是什么意思 -
狂邢大川: promise n. 1. 许诺, 诺言; 约定 Give me your promise that you'll never be late again. 答应我你绝不再迟到了. The young man shows promise as a poet. 这位青年有成为诗人的希望. 2. 许诺的东西, 约定的事项 3. (有)指望, 有(成功的)希...

章贡区18872124300: promise的中文意思是什么? -
狂邢大川: promisen. 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. 允诺,答应[+to-v][+...

章贡区18872124300: 关于promise的用法?
狂邢大川: promise是短暂性动词,就是指一瞬间的动作,做动词时不能与连续性的时间状语等连用. 作名词可以接宾语从句.

章贡区18872124300: promise是什么意思 -
狂邢大川: promise [英]ˈprɒmɪs [美]ˈprɑ:mɪs vt. 允诺,许诺;给人以…的指望或希望 vi. 许诺;有指望,有前途 n. 许诺;希望,指望;允诺的东西 [例句]As for the promise of three years of maternity leave , she feels this will be self-defeating ." 至于三年产假的承诺,她认为这将事与愿违.您好,答题不易 如有帮助请采纳,谢谢

章贡区18872124300: promise什么意思中文翻译 -
狂邢大川: promise 英[ˈprɒmɪs] 美[ˈprɑ:mɪs] vt. 允诺,许诺; 给人以…的指望或希望 vi. 许诺; 有指望,有前途 n. 许诺; 希望,指望; 允诺的东西 [例句] They also promise to treat the tigers humanely. 咱们允诺会人性地对待这些山君.

章贡区18872124300: promise是什么意思
狂邢大川: n. 1. 承诺,诺言[(+of)][+(that)][+to-v] 2. 希望,前途 vt. 1. 允诺,答应[+to-v][+that][O5] 2. 给人以...的指望;有...的可能[+to-v] ...

章贡区18872124300: 英文诗<Promise>的中文翻译 -
狂邢大川: 我用翻译工具翻译的 希望你会喜欢 承诺 是洁西卡希尔斯 正如你在静坐沉默, 怎么了 我会趴在你的肩膀上哭 直到你的眼泪流干.当你受到伤害时, 不应当相信他们做的 如果您炫耀与人交谈 我将会陪伴你 如果一个亲密朋友伤害了你, 你十分伤心的时候 我在这里陪伴你 我会努力的让你开心. 摆脱了负担 我只是想让你知道 我在会永远陪伴着你

章贡区18872124300: promise 是什么意思 -
狂邢大川: promise[英][ˈprɔmis] [美][ˈprɑmɪs] 词典解释 vt. 允诺,许诺;给人以…的指望或希望;vi. 许诺;有指望,有前途;n. 许诺;允诺的东西;希望,指望;

章贡区18872124300: promise什么意思 -
狂邢大川: promise [ˈprɑ:mɪs] vt. 允诺,许诺; 给人以…的指望或希望; vi. 许诺; 有指望,有前途; n. 许诺; 希望,指望; 允诺的东西; [例句]The post office has promised to resume first class mail delivery to the area on Friday邮局承诺于星期五恢复对这个地区第一类邮件的递送.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网