精华内容
下载资源
问答
  • 需求:点击保存的时候使用for循环批量调用新增接口。要求必须是同步插入,不能异步插入。 1. 下面是新增页面 2. 可以看请求,确实是同步执行3次结果。 3. 代码(核心) // 保存按钮 async saveToolClick() { this...

    需求:点击保存的时候使用for循环批量调用新增接口。要求必须是同步插入,不能异步插入。

    1. 下面是新增页面
    在这里插入图片描述
    2. 可以看请求,确实是同步执行3次结果。
    在这里插入图片描述

    3. 代码(核心)

    // 保存按钮
    async saveToolClick() {
    	this.loading = true;
    	for (let i = 0; i < this.defaultTableToolData.length; i++) {
    	    this.addToolForm.toolName = this.defaultTableToolData[i].name;
    	    this.addToolForm.toolCount = this.defaultTableToolData[i].inCount;
    	    await Iams.addEmployeeTool(this.addToolForm).then(res => {
    	    	// 判断i的大小和数组的大小如果相同,等是最后一次执行
    	        if (i == this.defaultTableToolData.length - 1) {
    	            this.loading = false;
    	            this.$message.success("默认工具数量添加成功");
    	        }
    	    }).catch(err => {
    	        this.$message.warning("工具添加出错" + err);
    	    })
    	}
        this.goodsDialogVisible = false;
    },
    
    展开全文
  • 在该方法中,我需要(不更改调用该方法的类中的任何代码)找出我输入的数字是否小于1。如果是,则需要调用另一个方法。 到此为止。但! mainloop不断滚动,因此它继续执行循环中的其他工作。 我需要阻止它执行此操作....

    我的小程序有点问题。

    我有一个JOptionPane要求一个数字,如果该数字小于10,则一个循环会一直持续下去,并永远做下去,继续询问数字。 在该循环内,我调用一个方法,将int作为参数。 在该方法中,我需要(不更改调用该方法的类中的任何代码)找出我输入的数字是否小于1。如果是,则需要调用另一个方法。 到此为止。

    但! mainloop不断滚动,因此它继续执行循环中的其他工作。 我需要阻止它执行此操作,因此在方法的if语句中,我需要中断该方法所在的循环的特定迭代,并使其继续执行同一循环的新迭代,并要求 新号码。

    第一类(示例):

    number=Integer.parseInt( JOptionPane.showInputDialog("bla bla" ) );

    while (number !=- 10) {

    themethod(number);

    blah

    blah

    ...

    }

    调用的方法(示例):

    public void themethod(int number) {

    if (number<1) {

    call the other method

    break the iteration im in

    }

    只需返回一些错误代码,并在返回该代码时中断循环即可。

    您想打破哪个循环? 方法内部是否还有另一个循环?

    不更改while循环中的代码是不可能的。 哪个部分属于哪个班级,您不能更改哪个班级?

    您可以在这里做很多事情。最终,您应该做什么取决于您的编码风格和您要完成的工作。

    选项1是以下内容的一些变体:

    for (;;)

    {

    int number = /* ... */;

    myMethod(number);

    if (number == -10)

    break;

    }

    您可能会主观地(取决于情况)说这是不好的,因为在循环中包含了终止条件的知识,而不是进行"实际工作"的方法。也许你的循环没关系。也许在其他情况下(或与其他程序员一起使用?这在很大程度上取决于个人喜好。)您可能想使myMethod做出该决定。通常,我自己的个人喜好通常倾向于不将场景知识分配到源头上的各种方法中。

    因此,我从这里开始写的大部分内容将是如何使myMethod决定是否终止。

    选项2-myMethod返回一个布尔值,指示我们应该终止:

    for (;;)

    {

    int number = /* ... */;

    if (myMethod(number))

    break;

    }

    boolean myMethod(int number)

    {

    // TODO - do stuff

    return number == -10;

    }

    但是您可能会说myMethod已经想返回其他类型。我非常有C背景,所以我最常使用的惯用法就是" out参数"。引导我进入选项3:

    选项3-Out参数让呼叫者决定终止:

    public class CancelIndicator

    {

    public boolean shouldCancel;

    };

    CancelIndicator cancel = new CancelIndicator();

    while (!cancel.shouldCancel)

    {

    int number = /* ... */;

    myMethod(number, cancel);

    }

    int myMethod(int number, CancelIndicator cancel)

    {

    // TODO - do stuff.

    cancel.shouldCancel = (number == -10);

    return /* ... */;

    }

    或者,也许您更喜欢例外:

    选项3:

    public class CancellationException extends Exception

    {

    }

    try

    {

    for (;;)

    {

    int number = /* ... */;

    myMethod(numberl);

    }

    }

    catch (CancellationException ex)

    {

    }

    void myMethod(int number) throws CancellationException

    {

    // TODO - do stuff.

    if (number == -10)

    throw new CancellationException();

    }

    如您所见,有很多选项。我敢肯定,人们可能会花一整天的时间讨论不同的方法。这是我见过的惯用法示例-我会警告您,自从我在Java中做了大量工作以来已经有一段时间了,因此我可能不会在这里编写最惯用的代码。 :-)

    我认为他不能修改循环的内容,但是只能修改方法。但是无论如何,答案都很好。 +1

    谢谢!当我看到"抛出新事物"时,我知道该怎么做。

    等待,这样您就可以一直抛出异常?循环的其余部分是否有一些catch语句?

    我似乎错过了不允许您修改代码的部分。如果您有一些讲师告诉您这一点,我认为他们以非常愚蠢的方式进行教育。就像在说:将其钉牢,但不要使用锤子。

    添加一个返回值,指示while应该中断:

    public boolean themethod(int number) {

    if(number<1) {

    call the other method

    return true;

    }

    return false;

    }

    然后:

    while(number !=-10) {

    if(themethod(number)) break;

    bla

    bla

    ...

    }

    编辑:如果您无法更改while代码,请从方法中引发异常:

    public void themethod(int number) {

    if(number<1) {

    call the other method

    throw new RuntimeException("Negative Number");

    }

    }

    我不能更改循环所在类的代码,也不能更改方法的类型:(

    @ user1092483:那你能改变什么?

    等等,我明白了吗?您有一个循环,要求输入一个数字,如果数字不是-10,会执行某些操作,否则会中断?

    如果是这样,请查看以下内容:

    while(true) {

    number=Integer.parseInt( JOptionPane.showInputDialog("bla bla" ) );

    if(number == -10) {

    break;

    }

    themethod(number);

    }

    否则,如果不是这种情况,并且您想在两种情况(-10号情况和方法为错误的情况)下进行折断,则可以执行以下操作:

    更改您的方法以返回布尔值。如果它是真的,那么它就不想破坏。如果它为假,则它想中断,然后执行以下操作:

    while(true) {

    number=Integer.parseInt( JOptionPane.showInputDialog("bla bla" ) );

    if(number == -10) {

    break;

    }

    if(!themethod(number)) break;

    }

    如果您确实无法编辑循环,则只需从方法中抛出异常即可!但是,这将退出整个程序。但是,我看不到任何其他可能的方式。

    等等,为什么您不能编辑课程?您可以编辑循环条件吗?

    嗯...然后只是调用一个异常。你在课堂上做什么。也许知道这会给我们一个提示,告诉他们他们期望您做什么。

    我们有关于例外的讨论,但是当我尝试添加例外时,它仍然无法正常工作。问题是,当我输入一个负数时,该方法之后的方法仍然会执行,并且如果我输入一个负数,它们将失败。

    也许您可以发布所有代码。我感觉这里还有更多我们看不到的东西。" bla"可以抓住答案的关键。

    没有themethod(int)的返回值并且没有更改其他类的代码,这是不可能的,因为就这样,没有返回通信。您必须同时更改两者。如果不更改循环中的逻辑就无法做到这一点。

    这样就无法从while循环中进行受控中断。你只能做System.exit(0);这会中断整个程序或引发异常,并希望循环能够处理它。也许发布您的完整代码?另外,请在您的问题中添加"作业"标签。

    展开全文
  • 判断循环首 (测试接收传值参数 > 1 ) 测试接收传值参数 = 测试接收传值参数 - 1 ' 减去 1 调试输出 (“参数相减”, 测试接收传值参数) ' 测试输出的参数值,减少麻烦用此调试无需转换文本, .如果真 (测试...

    新人不可错过

    .版本 2
    .支持库 spec
    .子程序 _按钮1_被单击, , , ,
    .局部变量 传值给子程序测试, 整数型
    传值给子程序测试 = 10  ' 把10赋值给“变量”
    子程序测试 (传值给子程序测试)  ' 执行“子程序测试“便会接收 变量内的值"10",
    .子程序 子程序测试
    .参数 测试接收传值参数, 整数型, , 参数可接收 变量,以及全局变量 等用法
    延时 (100)
    处理事件 ()  ' 随意,适当用
    .判断循环首 (测试接收传值参数 > 1)
        测试接收传值参数 = 测试接收传值参数 - 1  ' 减去1
        调试输出 (“参数相减”, 测试接收传值参数)  ' 测试输出的参数值,减少麻烦用此调试无需转换文本,
        .如果真 (测试接收传值参数 = 5)  ' 参数减到 5自然就会结束循环了
            调试输出 (“参数值等于”, 测试接收传值参数, “者跳出循环”)
            跳出循环 ()  ' 不用[ 跳出循环() ]的情况,可 直接赋值 ,0,给参数。 >1自然就不循环了
        .如果真结束
        延时 (2000)
    .判断循环尾 ()
    调试输出 (“子程序结束的参数值”,测试接收传值参数)  ' 这里可以条用别的子程序执行,参数用法便能全局控制多线程等,,,成大神指日可破

    新手想要学习易语言不管是想要做个人软件还是修改器或是别的什么人除了要多动手实践最重要的还是经验的交流欢迎有需要的的小伙伴进易语言交流群89965907来一起交流问题学习经验(记得备注哦),我把各种基础到高级教程资料都放到里面了,欢迎一起交流学习。

    展开全文
  • 在工作中遇到了一个for循环调用接口的例子:首先要根据一个集群ID,去调用接口查询此集群下的所有“命名空间”,接着再用for循环来一个个查询所有“命名空间”下的“实例”,eg: namespaceService.getNamespaceList...

    在工作中遇到了一个for循环调用接口的例子:首先要根据一个集群ID,去调用接口查询此集群下的所有“命名空间”,接着再用for循环来一个个查询所有“命名空间”下的“实例”,eg:

    <script type="text/javascript">
        namespaceService.getNamespaceList(clusterId,...(其它参数)).then(
            function( response ){
                var namespaceList = response.items;
                var  sensitiveWordFlag = false;
                for( var i = 0; i < namespaceList.length; i++){
                    clusterService.getPods( namespaceList[i].name, ...(其它参数)).then(
                        function( res ){
                            for( var j = 0;j<res.length;j++ ){
                                if( res[j].name.test("abc") == true){
                                    window.alert("含有敏感字符abc");
                                    sensitiveWordFlag = true;
                                    return;
                                }
    
                            }                       
                        }
                    )
                    if( !sensitiveWordFlag ){
                        window.alert("所有返回数据内容没有敏感字符");
                    }
                }
            }
        );
     </script>
    

    大家应该看出问题了,最后那个函数里面最后一个 if 的写法是有问题的,因为接口的调用是异步执行的,一个命名空间的数据还没有返回,它就先直接走进去了。那我们该如何改写呢?也就是要加一个怎样的判断条件,才能控制它是在所有的接口数据都在执行完上一个 if 以后,再走这一个 if ?我们只需再加一个 变量即可:

    <script type="text/javascript">
        namespaceService.getNamespaceList(clusterId,...(其它参数)).then(
            function( response ){
                var namespaceList = response.items;
    
                var sensitiveWordFlag = false;  // 敏感字符标识
                var count = 0; // 执行次数, 用于判断是否遍历完所有namespace
    
                for( var i = 0; i < namespaceList.length; i++) {
    
                    // 如果之前有敏感字符,就不再遍历
                    if (sensitiveWordFlag) {
                        break;
                    }
    
                    clusterService.getPods( namespaceList[i].name, ...(其它参数)).then(
                        function( res ){
                            // 遍历一个namespace ,count + 1
                            count++;
    
                            // 如果之前有敏感字符,就不再遍历
                            if (sensitiveWordFlag) {
                                return;
                            }
    
                            // 判断所有实例是否有敏感字符
                            for( var j = 0;j<res.length;j++ ){
                                if( res[j].name.test("abc") == true){
                                    sensitiveWordFlag = true;
                                    window.alert("含有敏感字符abc");
                                    return; // break;
                                }           
                            }
    
                            // 当标识位是False,且计数等于namespace长度的时候,说明已经遍历所有的namespace,也没发现敏感字符
                            if( !sensitiveWordFlag && count == namespaceList.length ){
                                window.alert("所有返回数据内容没有敏感字符");
                            }
                        }
                    ); // getPods
                }
    
            }
        );
    </script>
    

    再来看一种实现,如果需要提示用户和哪些实例冲突了,那么你就需要将冲突的实例保存到一个临时变量里。但你会发现需要穷尽所有的实例,才能确定冲突的实例。(性能问题,可想而知)

    <script type="text/javascript">
        namespaceService.getNamespaceList(clusterId,...(其它参数)).then(
            function( response ){
                var namespaceList = response.items;
    
                var sensitiveWord = []; //用于记录敏感的实例名称
                var count = 0; // 执行次数, 用于判断是否遍历完所有namespace
    
                for( var i = 0; i < namespaceList.length; i++) {
    
                    clusterService.getPods( namespaceList[i].name, ...(其它参数)).then(
                        function( res ){
                            // 遍历一个namespace ,count + 1
                            count++;
    
                            // 判断所有实例是否有敏感字符
                            for( var j = 0;j<res.length;j++ ){
                                if( res[j].name.test("abc") == true){
                                    // 保存敏感的实例名称
                                    sensitiveWord[sensitiveWord.length] = res[j].name;
                                }           
                            }
    
                            // 当遍历完所有namespace时,判断sensitiveWord
                            if( count == namespaceList.length ){
                                if (sensitiveWord.length > 0){
                                    window.alert("含有敏感字符abc");
                                    // sensitiveWord保存的值,是所有敏感实例的名称
                                } else {
                                    window.alert("所有返回数据内容没有敏感字符");
                                }
                            }
                        }
                    ); // getPods
                }
    
            }
        );
    </script>
    
    展开全文
  • 两个函数相互调用防止死循环

    千次阅读 2019-11-29 11:47:55
    最近碰到了一个问题,就是两个函数相互调用遭遇死循环的问题,想了...* methodA 和 methodB 循环调用,是死循环 * */ function methodA() { console.log('A的事情'); methodB(); } function methodB() { consol...
  • 调用格式: 〈无返回值〉 判断循环首 (逻辑型 条件) - 系统核心支持库->流程控制 英文名称:while 本命令根据提供的逻辑参数的值,来决定是否进入循环。如果提供的逻辑参数值为真,程序顺序执行下一条命令进入...
  • 循环调用异步接口获取数据

    千次阅读 2020-07-17 10:07:33
    遇到这样一个需求:调用接口,返回一个新闻列表,再循环这个新闻列表,用每个新闻的id异步请求这个新闻的视频地址,这就需要在循环调用接口。如果用for循环,接口还没请求完成,for循环就已经执行完了。所以改成...
  • 正经学徒,佛系记录,不搞事情 直接明了, wait 在百分 99 的情况下都是跟 ...循环里面使用 ...一次性判断 ...在循环判断时因为容器已满,会再次调用 this.wait 方法等待并释放锁,以此保证了正确性
  • => { console.log(res) resolve(res.status) }) }) }) Promise.all(queue).then(result => { console.log(result) }) } 实例2: getStageData () { // 获取状态信息(开关)(是否在线)(是否报警) let data = ...
  • setInterval() 定时循环执行 setTimeout() 只执行一次 var id=self.setInterval(function(){ axios .post( `url`, qsStringify({ str1: str1, str2: str2, }) ) .then(res => { console.log(res); if...
  • Python函数的循环调用

    千次阅读 2017-06-11 07:36:00
    1 def foo (): ...因此Python也是支持循环调用的,A call B, B call A。运行后的效果就是把线程栈顶死了。代码运行效果:   转载于:https://www.cnblogs.com/matrix-r/p/6984172.html
  • dedecms调用文章循环次数并判断

    千次阅读 2016-05-07 14:53:33
    直接上代码  [field:global name=...dedecms是常用的内容管理系统,有时需要调用文章的循环次数,显示文章编号,或根据循环次数作出一些判断,如上述代码就是对循环次数进行判断,当输送三篇文档时输出这样一个代码
  • 要想循环调用一个方法肯定是要判断某个值,当这个值为假时调用这个方法,为真就不调用query:function(){ if(!!wx.getStorageSync('userInfo')){ let _this=this; setTimeout(()=&gt; { _this.query(); },...
  • 循环中,调用异步接口获取数据

    千次阅读 2019-02-12 14:06:00
    问题描述:for循环中,异步调用后端接口无效(同时执行所有任务,导致页面卡死) 提示:循环不能是异步的,for循环是同步任务,内部的异步任务会在for循环执行完成后执行 解决方法:循环中使用递归。使用递归函数...
  • 然后这个接口里面的方法是一个判断循环。 如果在A接口查到数据了,那就就直接返回给前端。 不会继续调用B和C的接口了。 以此类推,如果A接口没有查到数据,那么就会接着调到B接口,如果B接口也是没有数据...
  • //bclassid='66'这个66可以设置为0就是调用根目录 [e:loop={"select classid,classname,islast from {$dbtbpre}enewsclass where bclassid='66' order by myorder,classid ASC limit 11",0...
  • Kettle循环调用的实现

    千次阅读 2015-04-30 13:47:38
    然后把数据库表中处理过的这条数据打上处理过的标记(这里是用的时间,第一个转换取的时候判断 小于当日的数据全部取出,处理完后将日期更新成当前日期),在作业中设置作业重复执行,并判断当第一个转换没有取 到...
  • java多线程(2) 循环调用三个线程

    千次阅读 2017-12-18 19:04:59
    此处在线程初始化的时候赋给对应的值,在资源类中判断,如果轮到改线程执行,则执行,并且notifyAll,如果不是则阻塞,线程类只负责调用线程源码如下Resource.javapublic class Resources { public static int ...
  • 本文实例讲述了Python编程判断一个正整数是否为素数的方法。分享给大家供大家参考,具体如下: import string import math #判断是否素数的函数 def isPrime(n): if(n<2 xss=removed>2): for d in range(2,int...
  • 但用高级for,可以不用每次都调用方法 转载于:https://www.cnblogs.com/dongma/p/10164757.html
  • 应为IE8不支持indexOf,所有写一个for循环方法来判断是否存在,并返回true false function isCon(arr, val){ for(var i=0; i<arr.length; i++){ if(arr[i] == val) return true; } return false; }  在js中添加...
  • import java.util.ArrayList; import sun.tools.jconsole.inspector.XObject; public class HelloWorld { public static void main(String[] args) { public static ArrayList uniqueArray(ArrayList list.....
  • 只在最顶层使用 Hook不要在循环,条件或嵌套函数中调用 Hook, 确保总是在你的 React 函数的最顶层调用他们。遵守这条规则,你就能确保 Hook 在每一次渲染中都按照同样的顺序被...
  • 示例:创建名称为p1的存储过程判断输入的数据类型 --创建存储过程 CREATE PROCEDURE p1(IN num INT) BEGIN --条件判断开始 IF num<0 THEN SELECT '负数'; ELSE IF num=0 THEN SELECT '0'; ELSE num&...
  • 最后在for外面的 list就有for循环里面的数据 生成快捷 增强for .iter 生成快捷 for 对象.fori 回车 生成快捷 if 判断 .if 如果数据不是前端想要。可以用创建新的实体类 。搞一个新的结果集。处理已经的旧结果集。...
  • 如何利用vb6.0编程软件的循环语法功能实现循环语句对控件是否调用属性的判断?怎么实现是否调用属性这个功能的判断操作?
  • 一、开始用forEach的方式去请求,发现无法捕获到错误的请求接口,有错误也会循环也会继续执行 let refreshParam = []; // 获取用户的设备列表 refreshParam.forEach( (param,index)=>{ console.log(...
  • makefile的条件判断循环非常简单。一.条件判断条件判断的语法如下:ifeq (条件表达式) 运行体 endififeq (条件表达式) 运行体 else 运行体 endif解释:如果条件表达式的返回值为真,则运行下面的运行体,...
  • 我现在要实现的是v-for每次按2条项目这样来循环,里面有函数是处理index,可是会出现符合的index重复调用的情况。template:scrip:let count = 3let indexArr = []export default {name: 'reportPage',data () {...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 683,877
精华内容 273,550
关键字:

判断是否循环调用