美文网首页
小程序-同步异步

小程序-同步异步

作者: JX灬君 | 来源:发表于2021-08-06 22:57 被阅读0次
  • 异步编程的优势
    性能更高,无需等待上一级执行完成,下一步就可异步执行。

  • 异步编程的劣势
    维护与调试难度更大。

  • 回调函数
    回调函数里,this = null
    当我们在小程序data中设置了一个变量iCount
    在项目中我们可以通过this.data.iCount 拿到值。
    如果,我们在回调函数function中通过this.data.iCount获取值时,程序会报错,因为在异步回调函数里,this = null,
    但是如果用箭头函数写回调函数时能正常拿到this.data.iCountd的值。(原生function中this指向的是调用者,箭头函数this绑定的是定义时的那个对象,箭头函数的this绑定看当前所在上下文,在哪个函数上下文,this就指向哪个对象。如果有嵌套,则绑定到最近的对象上)

// 报错,this = null
success : function(res){
  console.log(this.data.iCount); 
}

// 成功
success : (res) => {
  console.log(this.data.iCount); 
}
  • 小程序异步方法wx.request
// 正常写法
wx.request({
  url: 'url',
        header:{
          appkey: 'ot3YtxjoehslXFpX'
        },
        success:(res) => { 
          console.log(this.data.iCount)
          console.log(res)
        }
      })

// 改成Promise函数(单个异步函数性能上无任何提升,只是用来关联下Promise函数,如果是多个异步函数,Promise函数就尤为重要)
let requestWx = new Promise((resolve, reject) => {
        wx.request({
          url: 'http://bl.talelin.com/v1/classic/latest',
          header:{
            appkey: 'ot3YtxjoehslXFpX'
          },
          success:(res) => { 
            console.log(this.data.iCount)
            resolve(res)
          }
        })
      })
      requestWx.then((res) => {
        console.log(res)
;     })
  • Promise的作用
    解决异步嵌套的问题 - 回调地狱
    解决异步函数return消失的能力。

相关文章

  • 小程序-同步异步

    异步编程的优势性能更高,无需等待上一级执行完成,下一步就可异步执行。 异步编程的劣势维护与调试难度更大。 回调函数...

  • 6-10 同步异步方法对比

    暂时跳过,小程序里面异步比较少,尽量用同步

  • BIO NIO AIO

    同步、异步、阻塞、非阻塞的区别 同步、异步 同步、异步主要是指应用程序和操作系统之间的交互方式。应用程序通过系统调...

  • spring boot 异步实现@Async

    一、异步与同步 异步调用:程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序; 同步调用:程序按照定义...

  • 同步&异步,阻塞&非阻塞

    1.同步/异步,阻塞/非阻塞的区别 同步/异步是侧重与程序间的消息通信机制。 同步意味着程序发起调用一直同步等待直...

  • 网络编程2-同步异步、阻塞非阻塞

    一、什么是同步异步 1. 同步 例如:程序触发io操作,程序等待或者轮循查看io操作是否完成。 2. 异步 例如:...

  • 异步

    同步任务 && 异步任务 程序里面所有的任务,可以分成两类:同步任务(synchronous)和异步任务(asyn...

  • 小程序本地缓存(同步、异步)

    关于本地缓存 (1)设置本地存储:wx.setStorage(wx.setStorageSync)(2)获取本地存...

  • 信小程序开发 day04 - swiper圆角、全局共享响应式

    1、微信小程序里面setData是同步还是异步的呢? setData在设置data数据上,是同步的 通过最新数据对...

  • Spring Boot中使用@Async实现异步调用

    本文引用地址大神程序员DD link 什么是“异步调用”? “异步调用”对应的是“同步调用”,同步调用指程序按照...

网友评论

      本文标题:小程序-同步异步

      本文链接:https://www.haomeiwen.com/subject/erievltx.html