Promise用法详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Promise用法详解相关的知识,希望对你有一定的参考价值。

promise  英 ['prɒmɪs]  美 ['prɑmɪs] 

[ 过去式 promised 过去分词 promised 现在分词 promising ]

1、promise  作为名词,意思是许诺,允诺;希望

【例】You have my promise. 给你我的承诺。

2、promise  作为及物动词,意思是允诺,许诺;给人以?的指望或希望

【例】But you need to show him. Promise me. 但你一定要表现给他看,答应我。

3、promise作为不及物动词,许诺,承诺,保证

promise 侧重表自己的主观意向,设法用语言使人感到稳当可靠,所以很多“I promise...”的句型。

[ + that ] The government have promised that they'll reduce taxes.

政府已承诺要减税。

[ + (that) ] Promise me (that) you won't tell him.

答应我你不会告诉他。

4、promise to do sth 承诺去做某事

【例】I promise to do all these things. 我许诺做所有这些事情。

扩展资料:

例句

(1)He faithfully lived up to his promise. 

他忠实地实践了他的诺言。

(2)I redeemed my promise to my daughter by sending her a gift on herbirthday. 

女儿生日那一天我送给她一件礼物,履行了我对她的诺言。

(3)If you make a promise, abide by it. 

你如果做出诺言,就要履行诺言。

(4)One should keep to one's promise. 

(5)You have to remember your promise. 

你要记住你的承诺。

(6)Only promise me that you will smile. 

不过您得答应我,您一定要笑。

(7)Promise what I tell you! 

答应我对你提出的要求!

参考技术A

参考 promise | 深入理解 promise:promise的三种状态与链式调用

Promise对象只有三种状态

Node是以异步(Async)回调著称的,其异步性提高了程序的执行效率,但同时也减少了程序的可读性。如果我们有几个异步操作,并且后一个操作需要前一个操作返回的数据才能执行,这样按照Node的一般执行规律,要实现有序的异步操作,通常是一层加一层嵌套下去。
这个问题ES6提出了Promise的实现。
promise用途:

Promise对象有两个特点:
(1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是Promise这个名字的由来,它的英语意思就是 “承诺” ,表示其他手段无法改变。
(2)一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)。如果改变已经发生了,你再对Promise对象添加回调函数,也会立即得到这个结果。这与事件(Event)完全不同,事件的特点是,如果你错过了它,再去监听,是得不到结果的。
有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易。Promise也有一些缺点。首先,无法取消Promise,一旦新建它就会立即执行,无法中途取消。其次,如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。第三,当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。

一般形式

Promise中的参数executor是一个执行器函数,它有两个参数resolve和reject。它内部通常有一些异步操作,如果异步操作成功,则可以调用resolve()来将该实例的状态置为fulfilled,即已完成的,如果一旦失败,可以调用reject()来将该实例的状态置为rejected,即失败的。

以上是关于Promise用法详解的主要内容,如果未能解决你的问题,请参考以下文章

promise用法详解

ES6之Promise用法详解

Es6 Promise 用法详解

ES6 Promise用法详解

Promise原理详解

JS 中关于Promise的用法,状态,执行顺序详解,面试可用(原创)