////////////decorator//////////
function aopFunc (target, key, descriptor) {
console.log('aopFunc')
}
class foo {
@aopFunc
bar () {
console.log('fooo')
}
}
/////////////////////////////
///////////generator///////////
function* asyncFunc () {
var index = 0;
while (index < 3) {
yield index++
}
}
var func = asyncFunc()
var result
while(result = func.next(), !result.done) {
console.log(result.value)
}
////////////////////////////////
/////////async/await/////////////
async function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms)
})
}
(async function() {
console.log('Do some thing, ' + new Date())
await sleep(3000)
console.log('Do other things, ' + new Date())
})()
//////////////////////////////
//////////async/await////////////
function timeout(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
async function asyncPrint(value, ms) {
console.log('before hello world')
await timeout(ms);
console.log(value)
console.log('after hello world')
}
asyncPrint('hello world', 3000)
//////////////////////////////