离不开的别离

文章 评论 浏览 576

离不开的别离 2022-05-04 13:57:20

@sisterAn 你好,关于你的 3.async/await 我觉得不是很完备。

async function async1(){
   console.log('async1 start');
   // 我理解是这里的 async2 函数是返回的 Premise 对象
   // 但是 Premise 其本身就是一个宏任务 不用 await 也应该是同步执行的
    await async2();
    console.log('async1 end')
}
async function async2(){
    console.log('async2')
}

console.log('script start');
async1();
console.log('script end')

// 输出顺序:script start->async1 start->async2->script end->async1 end

而且请看一下下面例子是否能够表明清楚
或者有什么不对的地方

// 被添加入下一次宏任务队列
setTimeout(_ => console.log(6));

async function test() {
  console.log(1);
  // 我的理解是
  // 遇到 await 先执行其同步内容
  // 让出执行线程(跳出当前任务)同时推入微任务队列  继续往下执行
  // 执行完之后 回来继续执行
  await new Promise((resolve, reject) => {
    console.log(2);
    resolve();
  }).then(_ => console.log(4));
  // 这里 5 没有进入微任务队列 只不是相当于被挂起了
  console.log(5);
}

test();
test();

console.log(3);
// 如果执行一次 test 函数  结果 => 123456
// 如果执行两次 test 函数  结果 => 1212344556

第 8 题:setTimeout、Promise、Async/Await 的区别

离不开的别离 2022-05-04 13:55:32

如果是要求实现localStorage的持久化存储功能....这是不可能的; 如果不是,那么这个题....好像没有什么意义啊,最多考察一下语法

第 103 题:模拟实现一个 localStorage

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文