promise封装ajax进阶链式

// promise封装ajax进阶链式

    var promise = new Promise((resolve, reject) => {
        // 发送ajax 获取第一份数据 (我们需要这份数据里面的key值 要带着这个key去请求pay.json)
        $.get('./data.json', function (data) {
            var key = data.key;
            // 请求成功 把这个拿到的key 同过resolve传入下一个then
            resolve(key);
        })
    })
    .then(response => {
        // 这里 可以接收到上一步 用 resolve处理的数据
        // console.log('第二步接收到的key:', response)
        // 发送ajax 带上这个key 去请求另一个接口 pay.json
        return new Promise((resolve, reject) => {
            $.get('./pay.json?key='+response, function (data) {
                // console.log('第二步带上key请求到的数据:', data)
                // 请求成功 把这个数据 用 resolve处理 传入下一个then
                resolve(data)
            })
        })
    }) 
    .then(response => {
        // 这里 可以接收到上一步 用 resolve处理的数据
        console.log('第三步接收到的数据:', response)
    })

-如果不用resolve 怎么办? 回调地狱

    /*
        如果不用resolve 怎么办? 回调地狱
        $.get('./data.json', function (data) {
            var key = data.key;
            $.get('./pay.json?key='+key, function (data) {
                console.log(data);
                var key = data.key;
                $.get('./aa.json?key='+key, function (data) {
                    
                })
            })
        })
    */ 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容