// async函數返回一個 Promise 對象,可以使用then方法添加回調函數。
// 當函數執行的時候,一旦遇到await就會先返回,等到異步操作完成,再接着執行函數體內后面的語句。
class Demo {
//構造函數
constructor(x, y) {
this.x = x //類中變量
this.y = y
}
add = () => { //普通函數返回x+y的和
return this.x + this.y
}
sleep = time => {
return new Promise(function (resolve, reject) {
setTimeout(function () {
resolve('ok')
}, time);
})
}
//async 用於申明一個 function 是異步的,所以在該function里面的程序都是異步的
start = async () => {
let result = await this.sleep(1000)//await后面可以接着一個直接變量或者是一個promise對象
let sum = this.add()
console.log("了解", sum)
return result
}
}
let demo = new Demo(2, 3)
demo.start().then(m => {
console.log(m);
}
);