js中promise用法

new Promise(
  function (resolve, reject) {
    // 一段耗时的异步操作
    resolve('成功') // 数据处理完成
    // reject('失败') // 数据处理出错
  }
).then(
  (res) => {console.log(res)},  // 成功
  (err) => {console.log(err)} // 失败
).catch( err=> {
   console.log(err)
})

resolve作用是,将Promise对象的状态从“未完成”变为“成功”,在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;


reject作用是,将Promise对象的状态从“未完成”变为“失败”在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去;

Promise.all() 批量执行


    function fun1(){
         var ret = new Promise(function(resolve, reject){        //做一些异步操作
            setTimeout(function(){               
                resolve('成功');
            }, 1000);
        });
        return ret;
    }

    
    function fun2(){
        var ret = new Promise(function(resolve, reject){        //做一些异步操作
            setTimeout(function(){               
                resolve('成功');
            }, 1000);
        });
        return ret;
    }

    Promise.all([fun1(), fun2()])
        .then((result) => 
            //两个一起才执行
            console.log(result);
        })

    Promise.race([fun1, fun2])
        .then(result=> {
            //满足一个就执行
            console.log(result)
        })

使用场景:

例如我们要从远程的服务家在资源如果5000ms还没有加载过来我们就告知用户加载失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值