1 关于执行顺序

  1. <body>
  2. <script>
  3. console.log(3);
  4. setTimeout(() => {
  5. console.log(2);
  6. }, );
  7. Promise.resolve().then(()=>{
  8. console.log(1);
  9. })
  10. </script>
  11. <!-- 这个块单独运行return 3 1 2 -->
  12. <script>
  13. async function show(){
  14. console.log(4);
  15. var res = await 5;
  16. console.log(res);
  17. }
  18. show();
  19. console.log(6);
  20. </script>
  21. <!-- 这个块单独运行return 1 2 100 -->
  22. <!-- 两个块一起运行 return 3 1 4 6 5 2 -->
  23. </body>
  1. <body>
  2. <!-- 1.promise 中的语句除了resolve,reject能直接执行
  3. 2.遇到await先跳出函数执行他的同步代码,最后执行自己
  4. 3.定时器最后执行
  5. -->
  6. <script>
  7. async function show(){
  8. console.log("start");
  9. var res = await go();
  10. console.log(res);
  11. }
  12. async function go (){
  13. return 1;
  14. }
  15. show();
  16. setTimeout(() => {
  17. console.log(4);
  18. }, );
  19. var p = new Promise((resolve,reject)=>{
  20. console.log(2);
  21. resolve(3);
  22. console.log(5);
  23. })
  24. p.then((res)=>{
  25. console.log(res);
  26. })
  27. console.log("end");
  28. </script>
  29. <!-- return start 2 5 end 1 3 4 -->