代码片段

╰半夏微凉° 2022-03-07 15:26 344阅读 0赞
  1. function p1(){
  2. return new Promise(function(resolve,reject){
  3. setTimeout(function(){
  4. console.log("p1_3000");
  5. resolve()
  6. },3000)
  7. })
  8. }
  9. function p2(){
  10. return new Promise(function(resolve,reject){
  11. setTimeout(function(){
  12. console.log("p2_2000");
  13. resolve()
  14. },2000)
  15. })
  16. }
  17. //await 只能出现在异步函数里
  18. async function f(){
  19. console.log("0000")
  20. await p1();
  21. await p2();
  22. console.log("1010")
  23. }
  24. p3=f();
  25. p3.then(function(){
  26. console.log("结束")
  27. })
  28. console.log(1);
  29. console.log(2);
  30. setTimeout(function(){
  31. console.log(3)
  32. },3000);
  33. console.log(4);
  34. console.log(5)

上边的打印结果大家想必都知道,这是同步状态下的执行顺序

  1. //在看一个栗子
  2. function p1(){
  3. return new Promise(function(resolve,reject){
  4. setTimeout(function(){
  5. console.log("p1_3000");
  6. resolve()
  7. },3000)
  8. })
  9. }
  10. function p2(){
  11. return new Promise(function(resolve,reject){
  12. setTimeout(function(){
  13. console.log("p2_2000");
  14. resolve()
  15. },2000)
  16. })
  17. }
  18. console.log("0000");
  19. p1();
  20. p2();
  21. console.log("1010")
  22. //跟大家预期的结果一样,执行按照如下顺序输出
  23. //0000
  24. //1010
  25. //p2_2000
  26. //p1_3000

咱们想做的是让他按这个顺序执行下来咱们就要用到

发表评论

表情:
评论列表 (有 0 条评论,344人围观)

还没有评论,来说两句吧...

相关阅读