后续: 运行的时候发现,它这个代码就是延时执行,不是我想要的,于是又向它反馈,第二次给的答案就比较靠谱。视频没有录,所以把第二次的内容贴在下边。 我:不是这样的,是执行完后冷却,不是执行前冷却,你这样变成延时执行了。首先是立马运行,紧接着冷却,在冷却时间内,不能执行,直到冷却时间过去才能再次执行。 ChatGPT: 可以使用以下代码来实现您的需求: function delayFunc(func, time, obj) {  let timeout;  return function() {   let args = arguments;   let context = obj || this;   if (!timeout) {    // 如果当前没有冷却时间,则立即执行函数    func.apply(context, args);    timeout = setTimeout(function() {     // 在冷却时间后清除冷却     timeout = null;    }, time);   }  }; } 使用方法与上述代码类似。例如: // 不带对象方法的情况 let func = function() {  console.log("I am delayed function"); } let delayedFunc = delayFunc(func, 1000); delayedFunc(); // 这个时候会立即执行 func 函数,并在1秒后解除冷却 delayedFunc(); // 这个时候会忽略执行,因为此时处于冷却状态 // 1秒后,冷却时间过去 delayedFunc(); // 这个时候会再次立即执行 func 函数,并在1秒后解除冷却 希望这些修改能够满足您的需求。请让我知道如果有更多问题。 之所以提问这个,是因为之前我也写了一个这样的函数,我的代码: function coolingFn(fn, time = 0, context) { let ready = true; return function cooling() { if (ready) { if (time) { ready = false; setTimeout(() => { ready = true; }, time) } return fn.apply(context || this, arguments); } } } ChatGPT 改变了我对人工智能程序的认识。。。以后写代码直接对着电脑唠嗑就好了