美文网首页
new Promise 结合ajax 单个请求与多个请求写法

new Promise 结合ajax 单个请求与多个请求写法

作者: 陈情令 | 来源:发表于2023-01-12 16:08 被阅读0次

前言:忽如一夜春风来,千树万树梨花开,今天的天气突然变得很冷,又是保暖之际。由于自己隔段时间会把promise的写法忘记,又参考了廖雪峰大大的学习文章,小记写法汇总。

单个ajax请求执行写法

new Promise(function (resolve, reject) {

  log('start new Promise...');

    var timeOut = Math.random() * 2;

    log('set timeout to: ' + timeOut + ' seconds.');

    setTimeout(function () {

        if (timeOut < 1) {

            log('call resolve()...');

            resolve('200 OK');

        }

        else {

            log('call reject()...');

            reject('timeout in ' + timeOut + ' seconds.');

        }

    }, timeOut * 1000);

//此处可以写入ajax操作函数

}).then(function (r) {

    log('Done: ' + r);

}).catch(function (reason) {

    log('Failed: ' + reason);

});

多个ajax请求执行写法

function multiply(input){

    return new Promise(function(resolve,reject){

    //此处可以写入ajax操作函数,第二个ajax请求

    $.ajax({

      "type":"get/post",

      "async":true,

      "url":'',

      "data":JSON.stringify({"name":value})|| "",

      "success": function(res){

        resovle(res);

      },

      "error": function(err){

        reject(err);

      }

    })

    })

  }

// 0.5秒后返回input+input的计算结果:

function add(input) {

    return new Promise(function (resolve, reject) {

//此处可以写入ajax操作函数,第三个ajax请求

    $.ajax({

      "type":"get/post",

      "async":true,

      "url":'',

      "data":JSON.stringify({"name":value})|| "",

      "success": function(res){

        resovle(res);

      },

      "error": function(err){

        reject(err);

      }

    })

    });

}

var p = new Promise(function (resolve, reject) {

//此处可以写入ajax操作函数,第一个ajax请求

    $.ajax({

      "type":"get/post",

      "async":true,

      "url":'',

      "data":JSON.stringify({"name":value})|| "",

      "success": function(res){

        resovle(res);

      },

      "error": function(err){

        reject(err);

      }

    })

});

p.then(multiply)

.then(add)

.then(multiply)

.then(add)

.then(function (result) {

    log('Got value: ' + result);

});

转自https://blog.csdn.net/ProgramarQin/article/details/82991158

相关文章

  • new Promise 结合ajax 单个请求与多个请求写法

    前言:忽如一夜春风来,千树万树梨花开,今天的天气突然变得很冷,又是保暖之际。由于自己隔段时间会把promise[h...

  • Promise解析

    Promise使用场景 回调地狱:当你发送一个ajax请求,继而又需要请求一个ajax请求,并且此ajax请求参数...

  • promise(ES6)

    promise.all 多个起步请求,要所有的请求都拿到结果了再执行操作 promise.race 多个请求,只...

  • rn-fetch-blob+redux 取消请求

    其实取消请求对于普通的ajax请求rn-fetch-blob写法是比较简单的 但是我们的整个应用结合了redux,...

  • AJAX

    1、创建AJAX请求 2、Json写法 3、XML写法

  • 封装AJAX,以及使用promise

    以下是一个封装好的AJAX: AJAX如果要符合promise的写法,就必须return一个new promise...

  • 异步编程解决方案Promise

    使用方法 状态(不可逆,暂不举例) 使用Promise优雅ajax请求 ajax请求 回调地狱 cllback h...

  • jQuery-ajax

    jQuery-ajax实例 另一种写法: get请求的简单写法: 更多ajax参数

  • ES6

    AJAX 异步网络请求 Promise 使用了Promise对象之后可以链式调用的方式组织代码 Promise.a...

  • 异步编程笔记

    环境:chrome 80演习:用Promise async/await封装$.ajax Promise 第一次请求...

网友评论

      本文标题:new Promise 结合ajax 单个请求与多个请求写法

      本文链接:https://www.haomeiwen.com/subject/qdrwcdtx.html