• ajax多个请求执行顺序


    先说结论再说原因

    结论:比如点击事件触发了两个ajax请求或者更多的请求,是没有执行顺序的,各个请求的快慢完全取决于返回的快慢,或许你在浏览器调试窗口看见的是先发了一个请求,再发了一个,但是完全没有等待其返回就已经执行下一步操作。

    原因:

    首先在这里要明白单线程、多线程和线程:

    线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,
    即不同的线程可以执行同样的函数。

    多线程与单线程的区别:
    你早上上班,正要打卡的时候,手机响了。。你如果先接了电话,等接完了,在打卡,就是单线程。
    如果你一手接电话,一手打卡。就是多线程。两件事的结果是一样的。。你接了电话且打了卡。

    js是单线程操作,那么问题就来了,既然是单线程为啥ajax请求无顺序,因为是并行的。

    在这里需要了解并发和并行:

    1、并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。

    2、并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行。

    这两个概念说深说浅都不合适,多看多理解,入几次坑就很有体会了。

  • 相关阅读:
    CF980E The Number Games
    UVALive 2995 Image Is Everything
    CF1148F Foo Fighters
    CF22E Scheme
    CF1045G AI robots
    学习笔记 并查集维护区间删除
    HEOI 十二省联考退役记
    立方网面试题总结
    Django学习排错备注
    追求卓越之旅(转)
  • 原文地址:https://www.cnblogs.com/zhaozhou/p/9667685.html
Copyright © 2020-2023  润新知