1. cb
function getData(cb) {
setTimeout(() => {
data = data + 'b'
// console.log(data)
cb(data)
}, 1000)
}
const res = getData(data => {
console.log(data)
})
2. Promise(es6)
function getData() {
return new Promise(resolve => {
setTimeout(() => {
data = data + 'b'
resolve(data)
}, 1000)
})
}
getData().then(res => {
console.log(res)
})
3. async+await(es7)
function getData() {
return new Promise(resolve => {
setTimeout(() => {
data = data + 'b'
resolve(data)
}, 1000)
})
}
;(async () => {
const res = await getData()
console.log(res)
})()