链接学习:https://www.cnblogs.com/CandyManPing/p/9384104.html
链接学习:https://www.cnblogs.com/SamWeb/p/8417940.html
/*
/*
//1,async异步函数 异步函数也就意味着该函数的执行不会阻塞后面代码的执行。 写一个async 函数
async function gettimeout() {
return 'hello world';
}
gettimeout().then(function(res){
console.log(res)
})
console.log('虽然在后面,但是我先执行');
//2,async异步函数 异步函数也就意味着该函数的执行不会阻塞后面代码的执行。 写一个async 函数
async function timeout(flag) {
if (flag) {
return 'hello world'
} else {
throw 'my god, failure'
}
}
timeout(true).then(function(res){
console.log(res)
})
timeout(false).catch(err => {
console.log(err)
})
*/
//await是等待的意思,那么它等待什么呢,它后面跟着什么呢?其实它后面可以放任何表达式,不过我们更多的是放一个返回promise 对象的表达式。
//注意await 关键字只能放到async 函数里面
function doubleAfter2seconds(num) {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log("这是先执行的函数")
resolve(2 * num)
}, 1000);
} )
}
async function testResult() {
let first = await doubleAfter2seconds(30);
let second = await doubleAfter2seconds(50);
let third = await doubleAfter2seconds(30);
console.log(first)
console.log(first + second + third);
}
testResult();
//await是等待的意思,单独练习
function say() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
let age = 26
resolve(`hello, joel。今年我 ${age} 岁`);
}, 1000);
});
}
async function demo() {
const v = await say(); // 输出:hello, joel。今年我 26 岁 等待这个say 的异步,如果成功把回调 resole 函数的参数作为结果
console.log(v);
}
demo();