zoukankan      html  css  js  c++  java
  • js 执行顺序

    1、js是‘单线程’语言,执行模式有两种:同步,异步

      单线程:只有一条流水线

      同步:依次再流水线上执行

      异步:流水线旁加了一个临时储物台(任务队列),会把某些模块拿到临时储物台,或者会把临时储物台的某些模块插队到流水线

    2、js默认模式是同步模式,按流水线执行:A,B,C,不管A里边代码运行时间多长,都要先执行完A,再执行B,再执行C

    A:sssssssssssssssssssssssssss
    B: ddd
    C: ccccccccc

    3、实现异步模式的几种方法

      ①回调函数(把临时储物台的模块插入到流水线)

      ②setTimeout(把流水线的模块拿到临时储物台,过一段时间再插入回去)

      ③Promise对象(把临时储物台的模块插入到流水线)

    4、小程序中所有的wx.xxx()接口,也都是异步模式(先执行流水线上非wx.xxx的模块,把流水线上所有的wx.xxx模块先拿到临时储物台执行,等哪个有了返回结果,并且流水线上有空了,也就是流水线上非wx.xxx的模块执行完了,再把哪个插回去)

    5、async函数中,代码的执行模式是,异步模式,所有的模块都放在临时储物台上执行,哪个模块执行完了,就先把哪个模块拿到流水线上执行

    6、举例

    jobs.add({
          data: {
            userName: 'aaa'
          }
        })
          .then(res => {
            wx.hideLoading({
              success: res=>{
                console.log('hideLoading')
              }
            })
            wx.showToast({
              title: '提交成功',
              icon: 'success',
              duration: 2000
            })
            wx.switchTab({
              url: '../my/my',
            })
            console.log('aaaa')
          })
          .catch(err => {
            console.log(err)
          })

    执行顺序:

    把wx.hideLoading,wx.showToast,wx.switchTap先放到临时储物台,并执行

    执行流水线上的console.log('aaaa'),流水线上有空了,把临时储物台上最先有了返回结果的wx.hideLoading插入回流水线执行,流水线上有空了,又把第二个有了返回结果的wx.switchTab插入回流水线执行

    显示顺序:aaaa,hideLoading,跳转

    其他:

    7、if...else if....else会按照顺序执行,先执行if,再执行else if,再执行else

    8、for循环是先执行完内部的循环,再跳出循环,for循环后面的代码,必须for循环完成后才能执行

    wx.hideLoading({
    success: res=>{
    console.log('hidLoading')
    }
    })
  • 相关阅读:
    poj 2352 Stars(线段树)
    poj 2029 Get Many Persimmon Trees
    .Net remoting 的解答,以及跟WebService的区别
    关于Xcode4.2中的release“不能”使用的理解
    委托的学习日志
    钩子是啥?以及用来说啥,是不是可以用来做即时通讯?
    C#后台程序与HTML页面中JS方法互调(功能类似于Ajax中的DWR)
    接触了一下项目管理系统软件:禅道项目管理软件、Bugfree
    将string变为int 的几种方法方法比较
    Hashtable、Dictionary、SortedDictionary、SortedList的比较应用
  • 原文地址:https://www.cnblogs.com/qq254980080/p/11785677.html
Copyright © 2011-2022 走看看