js异步改同步

异步同步执行

function getSomething() {//js代码
 var a = 0;
 return new Promise(function(resolve) {
	 function() {//假如这个方法是一个异步执行
	  r = 2;
	  resolve(r);
	 }
 });
}

async function compute() {
 var x = await getSomething();
 alert(x * 2);
}

promise是什么?
1、主要用于异步计算
2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
3、可以在对象之间传递和操作promise,帮助我们处理队列



/* prmoise链式写法 */
 			//prmoise链式写法 调用
            this.GetSafeTaskStateNum().then(res=>{
                console.log("aaa",res)
                return res
            }).then((res2)=>{
                console.log("aaa222",res2)
                this.GetSafeUnitTaskList(res2);
            })


        /* 
        
            GetSafeTaskStateNum(){
                return new Promise((resolve,reject)=>{
                        this.$axios.get(this.$api.GetSafeTaskStateNum,{params:this.page}).then(res=>{
                        console.log("我要讓裝藥状态先获取到",res);
                        // this.screenBtns[0].num = res.result[0].value
                        // this.screenBtns[1].num = res.result[1].value
                        resolve(res)
                    })
                }) 
            },
            GetSafeUnitTaskList(res2){
            
                this.$axios.get(this.$api.GetSafeUnitTaskList,{params:this.page}).then(res=>{
                    console.log("等状态完成了才能执行",res2);
                    ({items: this.tableData,totalCount: this.page.total} = res.result);
                })
            },
        */


       

       /* Async操作 */
       //Async操作调用
        // this.GetSafeUnitTaskList();
        
        /* GetSafeTaskStateNum(){ 
            return Promise.resolve( 
                this.$axios.get(this.$api.GetSafeTaskStateNum,{params:this.page}).then(res=>{
                    console.log("我要讓裝藥状态先获取到",res);
                    return res
                })
            )
        },
        
        async GetSafeUnitTaskList(){
                const v1 = await this.GetSafeTaskStateNum();
                 console.log("等状态完成了才能执行v1",v1);
                this.$axios.get(this.$api.GetSafeUnitTaskList,{params:this.page}).then(res=>{
                   
                    ({items: this.tableData,totalCount: this.page.total} = res.result);
                })
            }, */

详细:

promise和async await区别在哪?到底怎么用?
理解 JavaScript 的 async/await
ES6关于Promise的用法
Promise和Async/Await用法整理
Async视频讲解
async,await视频讲解
关于async/await、promise和setTimeout执行顺序

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值