async、await的一个使用小示例,希望对你有所帮助。
首先,await 需要与async搭配使用;
其次,await需要等待包含promise对象的函数;否则则不能同步进行;
最后,ajax请求中包含async属性,默认为ture,表示为异步;false,为同步。建议使用异步,便于优化。
//准备1
function prepare(obj) {
return new Promise((resolve) => {
setTimeout(function () {
resolve(obj+" prepare 1");
}, 500)
});
}
//准备2
function fired(obj) {
return new Promise((resolve) => {
setTimeout(function () {
resolve(obj+" prepare 2");
}, 500)
});
}
//准备3
function stewed(obj) {
return new Promise((resolve) => {
setTimeout(function () {
resolve(obj+" prepare 4");
}, 500)
});
}
//准备4
function sdd(obj) {
return new Promise((resolve) => {
setTimeout(function () {
resolve(obj+" prepare 5");
}, 500)
});
}
//准备5
function serve(obj) {
return new Promise((resolve) => {
setTimeout(function () {
resolve(obj+" prepare 6");
}, 500)
});
}
async function task() {
// console.log(“start task”);
let data1=await prepare(“start task”);
let data2=await fired(data1);
let data3=await stewed(data2);
let data4=await sdd(data3);
let data5=await serve(data4);
return data5;
}
task().then(v=>{
console.log(v);
})