// pages/institutions/institutionslist.js const app = getApp() var utils = require('../../utils/util.js') Page({ /** * 页面的初始数据 */ data: { CustomBar: app.globalData.CustomBar, institutionsList: [{}, {}], countTime: 2000, //延迟搜索 时间 searchWaiting: false, //是否等待搜索倒计时中, searchKey: '', mapLocs: [] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) {}, doNavigation(e) { var item = e.currentTarget.dataset.item var locs = utils.bdMapToQQMap(116.34304, 39.948131) var lng = locs[0] var lat = locs[1] wx.openLocation({ latitude: Number(lat), longitude: Number(lng), }) }, showDetail(e) { var item = e.currentTarget.dataset.item wx.navigateTo({ url: './institutionsdetail', }) }, doSearch(e) { this.setData({ countTime: 2000, searchKey: e.detail.value, }) //是否处于搜索倒计时中 if (!this.data.searchWaiting) { this.timer(); } }, getInstitutionsList(key) { console.log('搜索中' + key) }, /** * 延迟搜索 */ timer() { var _self = this; this.setData({ searchWaiting: true }) let promise = new Promise((resolve, reject) => { let setTimer = setInterval( () => { console.log('搜索倒计时: ' + _self.data.countTime); _self.setData({ countTime: _self.data.countTime - 1000 }) if (_self.data.countTime <= 0) { console.log('开始搜索: ' + _self.data.searchKey); _self.setData({ countTime: 2000, searchWaiting: false, }) resolve(setTimer) } }, 1000) }) promise.then((setTimer) => { _self.getInstitutionsList(_self.data.searchKey) clearInterval(setTimer) //清除计时器 }) }, })