/* function normal(){
console.log("我是普通的同步任务,执行优先级最高");
}
function asynchronousTask(){
setTimeout('console.log("我是宏任务,执行优先级最低")',0); // 延时为0也没用
}
function run(){
asynchronousTask(); // 即使写在前面也没用
normal();
}
run(); */
/****************修改优先级:先做宏任务************************************** */
/* function normal(){
console.log("我是普通的同步任务,执行优先级最高");
}
function asynchronousTask(callback){
setTimeout('console.log("我是宏任务,执行优先级最低")',1000); // 延时为0也没用
callback();
}
function run(){
asynchronousTask(normal); //
}
run(); */
/******************************************************** */
/* function fn(callback) {
setTimeout(function () {
var data = 'hello';
callback(data);
}, 1000);
}
fn(function (data) {
console.log(data);
});
console.log("我是同步任务"); */
/********************异步任务阻塞*********************************** */
/* function asyncTask(){
setTimeout('console.log("我是宏任务,执行优先级最低")',1000); // 延时为0也没用
}
function takePromisePack(task){
return new Promise(function (resolve, reject) {
task(resolve);
});
// return new Promise(task);
}
function normal(){
console.log("我是普通的同步任务,执行优先级最高");
}
async function run(){
await takePromisePack(asyncTask);
// console.log(pack);
console.log("111");
// normal();
}
run(); */
/********************异步任务阻塞*********************************** */
/* function delay() {
return new Promise(function (resolve, reject) {
setTimeout(resolve, 1000);
});
}
async function asyncPrint() {
await delay();
console.log('After one second.');
await delay();
console.log('After two seconds.');
await delay();
console.log('After three seconds.');
await delay();
console.log('After four seconds.');
}
asyncPrint(); */
/**************************************************** */
function timeout(ms) {
return new Promise((resolve) => {
console.log("im in promise");
setTimeout('console.log("im in resolve")', ms);
resolve();
// setTimeout(resolve, ms);
});
}
async function asyncPrint(value, ms) {
await timeout(ms);
console.log(value);
}
asyncPrint('hello world', 1000);
console