首页 > 其他分享 >取消上次ajax

取消上次ajax

时间:2024-09-13 17:54:00浏览次数:6  
标签:false 取消 type scene item ajax let data 上次

// 大数据展示
    async queryBigData() {
      this.cancel && this.cancel();
      const CancelToken = axios.CancelToken;
      this.isLoad = true;
      this.ajaxBasicFinished = false;
      if (this.pointLayer) {
        this.scene.removeLayer(this.pointLayer);
      };
      this.scene.removeImage('lmapostIcon');
      let image = new Image(40, 40);
      image.src = `${this.$__webpack_public_path__}/static/images/map/${this.objectName}.svg`;
      await this.scene.addImage('lmapostIcon', image);

      const data = {
        Token: 'fdasfn8934r5nt9785o43mo#4K9',
        Belong: this.deviceBelong,
        ObjectName: this.objectName,
        Ucs: 'WGS84',
      };
      const options = {
        method: "POST",
        headers: { "content-type": "application/json" },
        data: data,
        url: `${BASE_CONFIG.BASE_API3}/get`,
        cancelToken: new CancelToken(c => {
          this.cancel = c;
        }),
      };
      axios(options)
        .then((response) => {
          let data = response.data.data;
          if(data && data.length > 0) {
            let geojson = {
              type: 'FeatureCollection',
              features: []
            };
            for (let i = 0; i < data.length; i++) {
              let item = data[i];
              // 上万条数据
              let feature = {
                  type: 'feature',
                  geometry: {
                      type: 'Point',
                      coordinates: []
                  },
                  properties: {
                    name: item.ObjectName
                  }
              };
              let longreg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/;
              let latreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/;
              let flag1 = longreg.test( this.decimalProcess(item.lnglat[0]) );
              let flag2 = latreg.test( this.decimalProcess(item.lnglat[1]) );

              if(flag1 && flag2){
                feature.geometry.coordinates = [this.decimalProcess(item.lnglat[0]), this.decimalProcess(item.lnglat[1])];
                geojson.features.push(feature);
              }
            };

            let bbox = this.$turf.bbox(geojson);
            this.scene.fitBounds(bbox);
            this.isLoad = false;
            this.pointLayer = new PointLayer({
              blend: 'normal',
              zIndex: 111
            })
              .source(geojson)
              .shape('lmapostIcon')
              .size(15)
            this.scene.addLayer(this.pointLayer);
            this.isNoData = false;
            this.ajaxBasicFinished = true;
          } else {
            this.isLoad = false;
            this.ajaxBasicFinished = true;
            this.isNoData = true;
            this.$message({
              message: '暂无设备',
              type: "warning",
            });
          }
        })
        .catch(error => {
          this.isLoad = false;
          console.log(error);
        });
    },

 

标签:false,取消,type,scene,item,ajax,let,data,上次
From: https://www.cnblogs.com/guwufeiyang/p/18412638

相关文章

  • vc++ 6.0 实现代码的多行注释与取消注释功能(实测有效)
    方式一1.新建MacroFile宏文件点击菜单栏“文件→新建(File→New)”选项,在“新建(New)”弹框中,顶部区域选项“文件(File)”下找到MacroFile,点击,并在右边输入“文件名”,点击“确定(OK)”按钮。此时弹出“新建宏文件”窗口,在“描述(Descripion)”输入框中输入信息,点击“确定(OK)”按钮。......
  • PbootCMS留言板取消验证码
    取消留言或自定义表单中的验证码可以提高用户体验,但同时也可能增加垃圾信息和恶意提交的风险。如果你确实需要取消验证码,可以按照以下步骤操作:1.确认需求在取消验证码之前,请确认以下几点:安全风险:取消验证码可能会增加垃圾信息和恶意提交的风险。替代方案:是否有其他安全措施......
  • PbootCMS如何取消后台、留言、自定义表单验证码
    取消PBootCMS后台、留言、自定义表单的验证码是一个相对直接的过程。如果你想要取消这些地方的验证码,可以按照以下步骤操作:登录后台:使用管理员账号登录PBootCMS的后台管理系统。进入全局配置:在后台管理界面中,找到“全局配置”或类似的设置入口。找到安全配置:在......
  • Kotlin协程的取消机制:深入理解和优雅实现
    本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点Kotlin协程提供了一种高效的方式来处理并发和异步任务。在协程的生命周期管理中,取消协程是一项重要的操作。本文将深入探讨Kotlin协程的取消机制,介绍除了直接使用Job的cancel......
  • 使用js闭包实现可取消的axios请求
    在平常开发中,经常会遇到重复请求的情况,也许是因为网络问题,也许是因为接口问题等等,传统做法是客户端采用防抖来限制用户发送接口的频率,一般出个loading转圈圈的形式,但是很少使用取消请求的做法,现在我来记录一下,如何采用闭包来封装一个可取消请求的函数,首先需要了解的是1.闭包2.......
  • AJAX家政系统V1.0.1
    原生微信小程序开发的一款同城预约、上门服务、到店核销家政系统,用户端、服务端(高级授权)、门店端(高级授权)各端相互依赖又相互独立,支持选择项目、选择服务人员、选择门店多种下单方式,支持上门服务和到店核销两种服务方式,支持自营和多商家联营(高级授权)两种运营模式,同时支持多城......
  • AJAX家政系统V1.0.1
    一款同城预约、上门服务、到店核销家政系统,用户端、服务端(高级授权)、门店端(高级授权)各端相互依赖又相互独立,支持选择项目、选择服务人员、选择门店多种下单方式,支持上门服务和到店核销两种服务方式,支持自营和多商家联营(高级授权)两种运营模式,同时支持多城市并且设置每个城......
  • 今天开周会重点说到上次那个项目被客户反馈,原因是很多需求被遗漏,我心里既自责,更多的是
            今天开周会了,重点说到上次那个项目被客户反馈了,原因是很多需求被遗漏,导致负责开发人员需要去客户那边完善,这样一来验收时间往后移动,间接导致我们下一个本身就时间紧迫的项目所剩时间又缩短一大截。老板重点强调了责任,开发人员没有按照需要一点一点对照实现,测试......
  • Jquery通过Ajax发送数据2
    一、低级Ajax方法   启动Ajax通信的方法,在内部jQuery会把这些方法都映射成$.ajax()全局函数的一种变体    $('#dictionary').load('a.html')加载HTML片段    等价    $.ajax({      url:  'a.html',      success: ......
  • JQuery通过Ajax发送数据
    JQuery的基础教程   第六章:通过Ajax发送请求   html代码<!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metaname="viewport"content="width=device-width,initial-scale=1.0"&g......