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.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有更好的理解,欢迎指教。

介绍Promise构造函数的几种方法

引言

在使用了Promise构造函数创建了Promise对象之后就要使用到Promise中的一些方法,下面将介绍这几种方法。

问题

介绍Promise函数的then方法、reject用法、catch用法和all用法这四种用法。

方法

1.then方法:promise的then方法带有以下三个参数:成功回调,失败回调,前进回调,一般情况下只需要实现第一个,后面是可选的。Promise中最为重要的是状态,通过then的状态传递可以实现回调函数链式操作的实现。先执行以下代码:

<script src="https://unpkg.com/vue@next"></script>
<script type="text/javascript">
greet().then(v=>
console.log(v);//*
)
function greet()
var promise = new Promise(function(resolve,reject)
var greet = "hello  world";
           resolve(greet);
       );
return promise;
   
var p = greet().then(v=>
console.log(v);
   )
console.log(p);
</script>

这里promise的状态是pending,输出hello world。

2.reject用法:reject的作用就是把Promise的状态从pending置为rejected,这样在then中就能捕捉到reject的回调函数

<script src="https://unpkg.com/vue@next"></script>
<script type="text/javascript">
function judgeNumber(num)
var promise1 = new Promise(function(resolve,reject)
           num =5;
if(num<5)
               resolve("num小于5,值为:"+num);
           else
               reject("num不小于5,值为:"+num);
           
       );
return promise1;
   

judgeNumber().then(
function(message)
console.log(message);
       ,
function(message)
console.log(message);
       
   )
</script>

then后包含有两个方法,前一个执行resolve回调的参数,后一个执行reject回调的参数。

3.catch方法:

  1. <script src="https://unpkg.com/vue@next"></script>
    <script type="text/javascript">
    function judgeNumber(num)
    var promise1 = new Promise(function(resolve,reject)
               num =5;
    if(num<5)
                   resolve("num小于5,值为:"+num);
               else
                   reject("num不小于5,值为:"+num);
               
           );
    return promise1;
       

    judgeNumber().then(
    function(message)
    console.log(message);
           ,
    function(message)
    console.log(message);
           
       )
    </script>

这个时候catch执行的是和reject一样的,也就是说如果Promise的状态变为reject时,会被catch发现到,需要注意的是如果前面设置了reject方法的回调函数,则catch不会捕捉到状态变为reject的情况。

4 结语

针对promise构造函数,本文章简要分析了promise中的then方法,reject方法,和catch方法,promise还有几种方法,如all,race用法等等。

实习编辑:李欣容

稿件来源:深度学习与文旅应用实验室(DLETA)

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

Promise 用法

Promise用法详解

Promise的用法以及作用

Promise的基本用法

Promise的基本用法

Promise原理详解