zoukankan      html  css  js  c++  java
  • ajax多个请求执行顺序

    先说结论再说原因

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

    原因:

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

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

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

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

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

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

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

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

  • 相关阅读:
    python_控制台输出带颜色的文字方法
    Django 知识总结(一)
    C# 实现俄罗斯方块
    一起学SpringMVC之Request方式
    一起学SpringMVC之RequestMapping详解
    一起学SpringMVC之Json
    一起学SpringMVC之注解
    一起学SpringMVC之入门篇
    一起学Android之Xml与Json解析
    一起学Android之AsyncTask
  • 原文地址:https://www.cnblogs.com/zhaozhou/p/9667685.html
Copyright © 2011-2022 走看看