Lazulitecn 2022-01-13 08:53 采纳率: 84.8%
浏览 70
已结题

请问JS为什么设置变量值不成功,钉钉宜搭


export function getgps() {
  var j = 0;
  var w = 0;
  loadDDApi.then(() => {
    dd.ready(() => {
      // 获取当前地理位置信息(单次定位)
      dd.device.geolocation.get({
        targetAccuracy: 200,
        coordinate: 1,
        withReGeocode: true,
        useCache: true, 
        onSuccess: function (result) {
          var j = result.longitude;//这里经纬度赋值失败
          var w = result.latitude//这里经纬度赋值失败
          alert(result.longitude);//这里能正常弹窗提示经纬度的值
        },
        onFail: function (err) { }
      });
    })
  })
  this.$("textField_kybrsytl").setValue(j);//设置文本框,j的值还是0
  this.$('numberField_kybrsytm').setValue(w);//设置数值框,w的值还是0
}

请问为什么设置选项框内容 j和w 为什么赋值变量失败了呢?

  • 写回答

7条回答 默认 最新

  • Rattenking Python领域优质创作者 2022-01-13 09:22
    关注
    1. js 运行机制先同步任务 后异步任务
    2. then 属于异步任务的微观任务
    3. 也就说按照你的代码,同步执行var j = 0;this.$("textField_kybrsytl").setValue(j);异步值没有作用复制到文本;
    4. 所以将设置值放到异步任务的成功函数里,进行赋值;
    5. 还要注意this的指向,留住this。
    
     
    export function getgps() {
      var j = 0;
      var w = 0;
      var _this = this;
      loadDDApi.then(() => {
        dd.ready(() => {
          // 获取当前地理位置信息(单次定位)
          dd.device.geolocation.get({
            targetAccuracy: 200,
            coordinate: 1,
            withReGeocode: true,
            useCache: true, 
            onSuccess: function (result) {
              var j = result.longitude;
              var w = result.latitude;
              _this.$("textField_kybrsytl").setValue(j);
              _this.$('numberField_kybrsytm').setValue(w);
            },
            onFail: function (err) { }
          });
        })
      })
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 创建了问题 1月13日

悬赏问题

  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败