promise intro2-用法

1. promise对象的创建

  构造函数有一个参数, 即回调函数, 

  回调函数有两个参数, resolve/reject

  let p1= new Promise(function(resolve, reject) {

  })

2. promise 对象用来传递异步操作的状态

  

//实现逻辑:  第三次ajax请求需要用到请来给你吃ajax请求的结果

    <script>
        let p1 = new Promise(function(resolve, reject) {
            $.ajax({
                url: './data/1.txt',
                dataType: 'json',
                success(arr) {
                    resolve(arr)
                },
                error(err) {
                    reject(err)
                }
            })
        });

        let p2 = new Promise(function(resolve, reject) {
            $.ajax({
                url:'./data/2.txt',
                dataType: 'json',
                success(arr) {
                    resolve(arr)
                },
                error(err) {
                    reject(err)
                }
            })
        })

        Promise.all([p1, p2]).then(function(arr) {
            [res1, res2] =arr;
            console.log(arr);
            console.log(res1, res2);
        }, function() {
            console.log('.all()方法可以将多个实例结合起来');
        })
        let res1;
        let res2;

        //第三次ajax请求需要用到前两次ajax请求的结果
        let p3 = new Promise((resolve, reject) => {
            $.ajax({
                url: './data/1.txt',

                //如果数据的键和值相同, 可以使用这种写法
                data: {
                    res1,
                    res2
                },
                dataType: 'json',
                success: function(arr) {
                    resolve(arr)
                },
                error: function(err) {
                    reject(err)
                }
            })
        }).then((val) => {
            console.log(val);
            
        })
        

 

 

  

 

posted @ 2019-01-04 18:20  noraZhang  阅读(319)  评论(0编辑  收藏  举报