javascript - 从回调中突破 "super function"

标签 javascript callback

我想知道是否可以从回调函数中突破“ super 函数”。我简化了代码以使其更具可读性

function isClicked() {
   var userInputs = $("input");
   userInputs.each(function (index, element) {
      if ($(element).val() === "")
         return; //But I want to break out from isClicked()
   });  
}

我本能地编写了这段代码,但我很快意识到我的推理是错误的,仅从回调的当前迭代返回中断。

基本上,我的问题是是否可以在回调中突破 isClicked() 。

我的问题有一个简单的解决办法,但我想知道上述是否可能

最佳答案

返回 false 会阻止 .each() 继续迭代:

function isClicked() {
   var userInputs = $("input");
   userInputs.each(function (index, element) {
      if ($(element).val() === "")
         return false; //Returning false ends the .each() iterating
   });
}

问题中提供的代码不需要,但我有时需要使用嵌套循环执行如下操作(在提供的情况下不需要):

function isClicked() {
   for (i=0;i<variable.length;i++) {
      var userInputs = $("input");
      var done = false;
      userInputs.each(function (index, element) {
         if ($(element).val() === "") {
            done = true;
            return false; //Returning false ends the .each() iterating
         }
      });
      if (done)
         return true;
   }
}

关于javascript - 从回调中突破 "super function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28642426/

相关文章:

javascript 随机生成 nr + 循环

javascript - 试图将流体宽度 div 变成 100% 宽模态

javascript - 如何为聊天室显示从数据库接收的一系列消息

javascript - 菜单图标动画 jQuery

javascript - 抢占式: How to avoid deep callback hierarchy in Node?(使用Express)

javascript - 使用 jQueryUI 从用户获取 bool 值

javascript - 我如何将一个对象从一个函数发送到AngularJS中的另一个函数

javascript - 如何从其回调函数内部断开 MutationObserver 的连接?

android - 将回调 onListItemClick 上的数据传递给 fragment

c++ - 取消 deadline_timer,无论如何都会触发回调