js异步改同步

tech2026-04-16  1

异步同步执行

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); }) }, */

详细: 理解 JavaScript 的 async/await ES6关于Promise的用法 Promise和Async/Await用法整理 Async视频讲解 async,await视频讲解 关于async/await、promise和setTimeout执行顺序

最新回复(0)