JS Promise

来源:互联网 发布:java课程设计选题 编辑:程序博客网 时间:2024/06/05 18:16

Promise 对象代表一个异步操作,有三种状态:Pending(进行中)、Resolved(已完成,又称 Fulfilled)和 Rejected(已失败)。Promise 构造函数接受一个函数作为参数,该函数的两个参数分别是 resolve 方法和 reject 方法。
如果异步操作成功,则用 resolve 方法将 Promise 对象的状态,从「未完成」变为「成功」(即从 pending 变为 resolved);
如果异步操作失败,则用 reject 方法将 Promise 对象的状态,从「未完成」变为「失败」(即从 pending 变为 rejected)。
使用demo:

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>        <script type="text/javascript">            window.onload = function() {                function pms1() {                    return new Promise(function(resolve, reject) {                        setTimeout(function() {                            var num = Math.ceil(Math.random() * 10); //生成1-10的随机数                            if(num <= 5) {                                resolve(num);                            } else {                                reject('数字太大了吧!');                            }                        }, 2000);                    });                }                setInterval(function() {                    pms1().then(function(data) {    //小于等于5的                        console.log(data);                    }, function(data) {     //大于的                        console.log(data);                    })                }, 1000);            }        </script>    </head>    <body>    </body></html>

依次输出 1 数字太大了吧 4 数字太大了吧 数字太大了吧 2 3…

0 0
原创粉丝点击