{
// let task1 = function () {
// return new Promise(function (resovle, reject) {
// setTimeout(function () {
// resovle("task1的返回结果")
// }, 1000)
// })
// }
// function fun() {
// task1().then(function (res) {
// console.log(res)
// })
// }
// fun()
// let task1 = () => new Promise((resolve, reject) => {
// setTimeout(() => resolve("task1 end.返回结果"), 1000)
// })
// function fun() {
// task1().then(res => console.log(res))
// }
// fun()
}
{
// let task1 = () => new Promise((resolve, reject) => {
// setTimeout(() => resolve("task1 end.返回结果"), 1000)
// })
// let task2 = () => new Promise((resolve, reject) => {
// setTimeout(() => resolve("task2 end.返回结果"), 1000)
// })
// //async函数是对Generator函数的改进
// //1、函数执行,遇到await等待异步操作完成,再接着执行后面的语句
// //内置了执行器,自动执行。不像Generator函数,需要调用next方法
// //2、更好的语义。async 和 await,比星号和yield,语义更加清晰
// //一句话:它就是Generator函数的语法糖
// async function fun() {
// let result1 = await task1()
// console.log(result1)
// let result2 = await task2()
// console.log(result2)
// console.log("fun end")
// }
// fun()
}
{
// let task1 = () => new Promise((resolve, reject) => {
// setTimeout(() => resolve("task1 end.返回结果"), 1000)
// })
let task1 = () => Promise.resolve("task1 end.返回结果")
//async函数返回一个Promise对象,可以使用then添加回调函数
//async函数内部return语句返回的值,会成为then返回回调函数的参数
async function fun() {
//await后面跟Promise对象,返回该Promise对象的结果
return await task1()
//await后面不是Promise对象,就直接返回对应的值
//return await 100
}
fun().then(res => console.log(res))
}