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!
答应我对你提出的要求!
实例 :
当执行第一个promise = promise.then(testRes)时,会立即执行testRes方法,而参数就是初始化的a,因为在上面,promise的初始值就是一个成功状态的promise,并且resolve的值是a,赋值后的promise也是一个promise对象,并且resolve的值就是处理一次的a对象,最后打印:
这个用法是 axios 库的拦截器中使用到,使用过的朋友应该知道,axios的拦截器就是将config或者response进行一层一层的传递,处理。
直接看例子:
推荐最后一种写法
指的是定义一个pending状态,然后先定好promise成功情况后操作,然后由外部控制这个promise什么时候变成resolved状态,去执行.then操作,先看一个最简单的例子:
再看一个较为复杂的例子,由内部控制promise resolve执行的逻辑,外部只是控制promise的状态,主要运用到函数的参数知识:
这就是超人鸭这次分享的几个promise用法,主要是在学习axios库时总结的dome,感觉自己对promise的理解也是非常浅,如果你对promise有更好的理解,欢迎指教。