判断多个值是否存在,存在则执行相关同异步任务(箭头函数this指向问题)

    let { storeId, voucher, isNewbornZone, missionId, seckillData, skuId, activityId, spuId, activityType } = options
    let nextTick = {
      storeId:()=>{
        // Todo
      },
      voucher:()=> {
        // Todo
      },
      isNewbornZone:()=>{
        // Todo
      },
      missionId:()=>{
        // Todo
      },
      seckillData:()=>{
        // Todo
      },
      skuId:()=>{
        // Todo
      },
      activityId:()=>{
        // Todo
      },
      spuId:async ()=>{
        // Todo
      }
    }
    for(let k in nextTick){
      options[k] ? nextTick[k].call(this) : ''  // 这里改变的是箭头函数上一层的this指向
    }
  • 箭头函数比函数表达式更简洁,箭头函数不会创建自己的this,它只会从自己的作用域链的上一层继承this。
posted @ 2022-03-05 10:04  M83Feng  阅读(23)  评论(0)    收藏  举报