Promise的执行规则
1 | new Promise((resolve, reject) => { |
解释:
读懂代码如何执行,就懂了promise的使用了
一定要看懂它们!!!
一定要看懂它们!!!
一定要看懂它们!!!
Promise的构造函数中,是一个函数(暂时本文私底下就叫它“小涵“吧),这个函数也需要两个参数(一般命名为resolve、reject),resolve和reject这两个参数也是函数。巧妙之处就在于:当Promise构造函数的参数”小涵“中执行了resolve(可传参)这个函数,就会执行Promise后面的then函数,同时resolve的实参,会传给then中形参;同理,如果执行了reject(可传参)函数,就会执行Promise后面的catch函数,同时reject的实参,会传给catch中的形参。
应用
根据上面分析的promise的特点,前端通常会用它辅助Axios网络请求一块使用。
1 | new Promise((resolve, reject) => { |
补充
在执行axios请求的时候,我们一般还会在Promise内部,在加一层setTimeOut(function(){},1000),将axios请求的代码,放到setTimeOut中去。