猿问

瀑布流请求了两次接口,请问怎么解决?

export function myList (obj, pageNumber, fn, url, query) {

  obj.panel.page.pageNumber = pageNumber

  let data

  if (query) {

    // 如果有传进来查询参数,则用传进来的参数

    console.log('------组件自带参数------')

    data = query

  } else {

    // 否则,使用默认的分页参数

    console.log('------默认分页参数------')

    obj.data = {

      'page': obj.panel.page,

      'row': {

        'host_ids': obj.hostIds,

        'hostIds': obj.hostIds

      }

    }

    data = obj.data

  }

  obj.crud.loading(obj, true)

  // 如果hostid改变了,则数据都清空,

  if (obj.lastId !== obj.hostIds) {

    obj.panel.gridData = []

    obj.n = 1

  }

  obj.getData(obj, url, data, msg => {

    // console.log(msg)

    obj.isFirst = false

    obj.startScroll = true

    let len

    // 因为返回的数据分几种情况 所以这里得多加判断

    // 首先 如果msg为真

    if (msg) {

      //再它的totalRow或者total也为真

      if (msg.totalRow >= 0) {

        len = msg.totalRow

      } else {

        len = msg.total

      }

      if (msg.length >= 0) {

        len = msg.length

      }

    } else {

      len = 0

    }

    // 设置标题总记录数

    obj.totalRow = len

    obj.total = len

    // 为了搜索和排序做的准备

    if (msg) {

      if (msg.size) {

        obj.data.size = msg.size

        // obj.data.size.beforeId = msg.size.beforeId

        // obj.data.size.offset = msg.size.offset

        obj.n = parseInt(msg.size.offset) / parseInt(obj.panel.page.pageSize)

      }

    } else {

      // 显示完页面的记录条数后,如果msg其实是undefined的,那么,直接return

      obj.crud.loading(obj, false, () => {

        obj.panel.hasData = false

        obj.reloadLock = false

      })

      return

    }


    // 数据处理函数

    function dataHanding (tmp) {

      // 把所有的checked设为false

      tmp.forEach(function (curr) {

        curr.checked = false

      })

      //把新拿到的数据推进gridData中去作处理

      obj.crud.loading(obj, false, o => {

        // 如果fn传进来 才执行

        if (fn) fn(msg)

        for (let entry of tmp) {

          obj.panel.gridData.push(entry)

        }

        // 给gridData加上序号

        obj.panel.gridData.map((val, i) => {

          val.myNum = i + 1



函数式编程
浏览 340回答 1
1回答

莫回无

最简单方式就是请求接口前多加个变量进行判断var status=true;if(!status)return;getData startstatus=false;getData endstatus=true;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答