// async 是让方法变成异步
// await 是等待该代码执行完成后(会阻塞程序执行),再往下执行。
// --------------------------------------------------
/**
// 普通方法
function getData() {
return "这是一个数据";
}
console.log(getData()); //返回: 这是一个数据
*/
// --------------------------------------------------
// async可以让普通方法变成一个promise的异步方法
/*
async function getData() {
return "这是一个数据";
}
console.log(getData()); //返回 : Promise { '这是一个数据' }
*/
// --------------------------------------------------
// 如何获取异 async 步方法里面的数据
/*
// 获取异步方法里面的数据:方式一(类似于回调)
async function getData() {
return "这是一个数据";
}
var p = getData();
p.then(function (data) {
console.log(data); // 这是一个数据
});
*/
// --------------------------------------------------
/*
function getData() {
return "这是一个数据";
}
async function test() {
var d = await getData();
console.log(d); //返回: 这是一个数据
}
test();
*/
// await 阻塞的功能,可以把异步方法改成同步方法--------------
/*
function getData() {
console.log(2)
return "这是一个数据";
}
async function test() {
console.log(1)
var d = await getData();
console.log(3);
console.log(d); //返回: 这是一个数据
console.log(4)
}
test();//输出顺序 1 2 3 这是一个数据 4
*/
// 通常的async 和 await 的使用,await 必须在async 里边才能使用,否则会造成阻塞-------
/*
function getData() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
var username = "张三";
resolve(username);
}, 1000);
});
}
async function test() {
var data = await getData();
console.log(data); // 张三
}
test();
*/
// --------------------------------------------------
/*
var getData = () => {
return new Promise(function (resolve, reject) {
setTimeout(function () {
var username = "张三";
resolve(username);
}, 1000);
});
};
async function test() {
var data = await getData();
console.log(data); // 张三
}
test();
*/
// -----------------------------------------------------------------------------