zoukankan      html  css  js  c++  java
  • 微信小程序Rx 引入 调用合并的方法

    submit(){
    const {radio,dateStartText,dateendText} =this.data
    console.log(radio)
    if(radio==''){
    Toast('请选择子设备')
    return;
    }
    // if(!dateStartText||!dateendText){
    // Toast('请选择日期')
    // return;
    // }
    let arrData=wx.getStorageSync('subDeviceData')
    arrData=arrData.filter(item=>item.name)
    
    let dataType={}
    let dataArrsy=[]
    let timestamp = Date.parse(new Date());
    timestamp = timestamp / 1000;
    
    arrData.forEach((item,index)=>{
    console.log(item.deviceName)
    dataArrsy.push(dataType={
    IotId:item.iotId,
    identifier:item.radio,
    time:timestamp,
    // endTime:this.data.dateendText,
    // pageSize:100,
    // productKey:item.productKey,
    deviceName:item.deviceName
    })
    
    })
    console.log(dataArrsy,'dataArrsy')
    function sum(arr) {//数组的数字相加
    return arr.reduce(function(prev, curr, idx, arr){
    return prev + curr;
    });
    }
    const httpList=[]
    const numLength=[]
    for(var i=0;i<arrData.length;i++){
    httpList.push(this.getproxy(dataArrsy[i],dataArrsy[i].deviceName))
    }
    Rx.Observable.forkJoin(httpList)
    .subscribe(resp => {
    resp.forEach((item,index)=>{
    numLength.push(item.data.length)
    })
    console.log(sum(numLength)==0,sum(numLength))
    if(sum(numLength)==0){
    wx.showToast({
    title:'暂无数据可以展示', // 提示的内容,
    icon: 'none', // 图标,
    mask: true, // 显示透明蒙层,防止触摸穿透,
    success: res => { }
    });
    return;
    }
    wx.setStorageSync('radio', radio)
    wx.setStorageSync('deviceProperties', resp)
    wx.setStorageSync('chooseService', resp)
    wx.navigateTo({
    url: '/pages/index/listSWG/exhibition/charts',
    })
    })
    },
    getproxy(data,deviceName){
    return new Rx.Observable(observer=>{
    http.request({
    url: 'p-net-deviceProperties-time',
    method: 'POST',
    data,
    success: (res) => {
    if (res.code=='ok') {
    console.log(res)
    res.deviceName=deviceName
    observer.next(res);
    observer.complete();
    } else {
    Toast(res.data || res.message)
    wx.showToast({
    title: res.data, // 提示的内容,
    icon: 'none', // 图标,
    mask: true, // 显示透明蒙层,防止触摸穿透,
    success: res => { }
    });
    observer.error(res);
    }
    }
    })
    })
    },
    

      

  • 相关阅读:
    ASP.NET MVC 重点教程一周年版 第二回 UrlRouting
    ASP.NET MVC 重点教程一周年版 第三回 Controller与View
    DynamicData for Asp.net Mvc留言本实例 下篇 更新
    Asp.net MVC视频教程 18 单选与复选框
    使用ASP.NET MVC Futures 中的异步Action
    ASP.NET MVC RC 升级要注意的几点
    ATL、MFC、WTL CString 的今生前世
    msvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义
    关于Windows内存的一些参考文章
    Windows访问令牌相关使用方法
  • 原文地址:https://www.cnblogs.com/alone2015/p/13728158.html
Copyright © 2011-2022 走看看