一、函数防抖
/ 函数防抖:只针对最后一次输入触发 /
<body><button id="btn">btn</button><script>let timeout =null;function debounce(fn,wait){if(timeout){clearTimeout(timeout)}timeout = setTimeout(fn,wait);}var btn = document.getElementById("btn");var itemout=nullbtn.onclick = function(){debounce(function(){console.log(4)},1000)}</script></body>
二、封装防抖函数util/debounce.js
let timeout = nullfunction debounce(fn, wait) {if(timeout !== null) clearTimeout(timeout)timeout = setTimeout(fn, wait)}export default debounce
三、watch方法中使用
<script>import debounce from "@/utils/debounce";import axios from "axios-jsonp-pro";export default {name: "Search",data() {return {keyword: "",musics: ""};},watch: {keyword(newValue) {/* 函数防抖:只针对最后一次输入触发 */debounce(() => {var url = `https://douban.uieee.com/v2/music/search?q=${newValue}`;axios.jsonp(url).then(res => {this.musics = res.musics;});},1000);}}};</script>
