首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么每当我向流控制器添加流时,我的then()函数都不会被调用?

在云计算领域中,流控制器是一种用于管理和控制数据流的组件。当向流控制器添加流时,then()函数不被调用可能是由于以下几个原因:

  1. 异步操作:流控制器的添加流操作可能是异步的,而then()函数是Promise对象的方法,只有在Promise对象状态变为resolved时才会被调用。因此,需要确保添加流的操作已经完成,可以通过使用async/await或者.then()方法来处理异步操作。
  2. 错误处理:在添加流的过程中,可能会发生错误。如果没有正确处理错误,then()函数可能不会被调用。可以通过在添加流的代码块中使用try-catch语句来捕获错误,并在catch块中处理错误情况。
  3. 回调函数注册问题:流控制器可能需要注册回调函数来处理添加流的结果。如果没有正确注册回调函数,then()函数可能不会被调用。需要确保正确注册回调函数,并在回调函数中调用then()函数。
  4. Promise链问题:如果在添加流的过程中使用了多个Promise对象,需要确保正确地连接这些Promise对象的then()函数。可以使用Promise链来确保每个Promise对象的then()函数都能被调用。

总结起来,当向流控制器添加流时,如果then()函数不被调用,需要检查是否存在异步操作、错误处理、回调函数注册或Promise链等问题,并进行相应的调试和修复。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET 高频面试题总结(高级开发、架构师)

) 在一般情况下, 每个 Sentinel(哨兵)进程会以每 10 秒一次的频率向集群中的所有Master主服务器、Slave从服务器发送 INFO 命令。...首先要添加session包. 其次要在configservice方法里面添加session。 然后又在configure方法里面调用usesession。...有三种服务的生命 周期。 1、单实例服务, 通过add singleton方法来添加。在注册时即创建服务, 在随后的请求中都使用这一个服务。 2、短暂服务, 通过add transient方法来添加。...3、服务器端流模式:即服务器端返回结果的时候使用的是流模式,即传入的数据是通过参数形式传入的。但是在往客户端发送数据时使用send方法,与客户端返回数据的方式大同小异。...,我都能解开,且只有我能解开; 这样就可以保证在通信传输的时候,保证信息的安全; 在传输的时候不会被泄密,因为就算在传输的过程中,密文被拦截了,也无法得到原文; 因为没有这个解密Key,有密文是无法得到原文的

71810

OpenDaylight VTN源码及架构分析

2.VTN Coordinator VTN Coordinator通过北向接口与控制器相连接。其本身也提供REST API。一个 Coordinator可以控制多个Controller。...然后调用VTNManagerImpl.java处理剩下的操作:调用ODL IConnectionManager判断连接的对端端口是否为同一自治域,即位于同一个控制器下。...若是同一个控制器(host1 ping host2),则直接调用IDataPacketService发包;若不是同一个控制器(host1 ping host3),则调用postEvent函数,它将会调用...发送时只是判断发送口状态,而不管发送口对端连接的端口是否属于同于控制器下。...答:VTNManagerImpl.java receiveDataPacket(第一个收包函数)收包时,通过mac+interface+vlan确定属于的vtn,vtn类(VTenantImpl继承FlowFiterNode

1.4K50
  • 不写代码实现条件循环?只用Jmeter就能实现

    这时,我们无需在脚本中重复添加类似的请求,可以利用Jmeter内置的loop控制器和while控制器来实现。下面,我就来说说这两种控制器的使用方法和在实际测试中的一些应用场景。...loop控制器的参数 应用场景: 在合成主播相关测试中,希望在启动每一路视频流后发送一定数量的文本进行合成,之后关闭该视频流。测试中涉及三个接口:启动流、发送文本、关闭流。...其中发送文本的接口需要被调用多次,于是,可以在发送文本请求的外部添加loop控制器来实现多次调用(截图中为15次)。 ? loop控制器在合成主播项目测试中的应用 ?...while控制器的添加 参数说明: while控制器的参数只有一个,其中可以填入几种不同类型的“条件”。...在while控制器的参数中,我们可以写入判断变量状态的表达式(此处使用Jmeter的JavaScript函数及相关判断语句来实现判断,可根据需要使用其他函数和语句,如jexl3, groovy等)。

    1.8K30

    IO库

    当读写被关联到另一个流时,关联到的流的缓冲区会被刷新 除了使用endl、flush、ends 都可以来刷新缓冲区。...ifstream 并打开文件 ofstream out; //定义一个文件输出流,这个流不关联到任何文件 当我们定义了空的文件流对象后可以使用open函数将对象和文件关联起来。...可以手动调用close函数关闭文件。...也可以在fstream对象被销毁时由它的构造函数自动调用close 每个流都有一个关联的文件模式,用来指出该如何使用文件 in: 以读的方式打开 out: 以写的方式打开 app: 每次写操作前均定位到文件尾部...ate: 每次打开文件后立即定位到文件尾部 trunc: 截断文件 binary:以二进制的形式打开文件 string 流 当我们的某些工作是对文本进行处理,而其他一些工作是处理行内的单词时通常可以使用

    86330

    Linux:信号的发送、保存和处理

    ——>先清0,再调用 验证方法: 捕捉信号后,然后在自定义的方法里打印pending表  问题2:信号被处理时,对应的信号也会被添加到block表中,防止信号捕捉被嵌套使用 ——> 正在处理2信号的时候...——> 这是为了防止OS一直忙于某种信号的处理,从而引发的嵌套调用(因为自定义函数里可能会再次发送该信号) ——>比方说我们再准备捕捉2号信号之前,我们是先把pending由1->0,然后当我们进入自定义函数的时候还是有可能接受到新的...四、信号所引发的其他子问题 信号具有从当前执行流直接跳转到别的执行流的能力,因此可能会引发以下的一些子问题  4.1 可重入函数 下图出问题的原因就是:本来insert应该是main函数的执行流里调用的...——>(1)以前学cpp的时候都是单执行流,如果是多执行流的话就有可能一个函数被多个执行流进入(多进程) (2)如上图一样,虽然只有一个进程,但是main函数和sighanle函数其实并没有调用和被调用的关系...但是这种情况是有可能会被做优化的:因为main和handler是两个执行流,所以当cpu发现main函数内部不对flag做修改而只是单纯读取并做逻辑运算的时候,综合以上两个条件他就会直接把flag变量优化到

    10510

    第五届SDN大赛初赛部分试题解题思路:基于ONOS的路径反转实现

    实验任务: 基于北向API开发一个简单的路由控制应用,实现动态转发路径规则设置。...表示到了30s后自动删除流表,这时候会重新发送报文给控制器请求新的路径。...待30s结束流表会被清空,此时新的数据包包在进入第一个交换机时会再次packet_in给controller,此时利用上述中选定不同的路径将数据包转发,可以实现30s的动态反转。...进行数据包的解析操作,需要解析出源和目的IP用于下发流表时备用,arp泛洪等操作和一般的解析文件一样。...其中getPathCenterDeviceId函数是根据当前的源主机ID和目的主机ID去查找理论上应该经过的路径的中间交换机的值,每调用一次map中的值变量就对一个+1,按照1-3的次序循环变化(满足题目中的依次反转

    1.2K30

    【Node.js】Stream(流)的学习笔记

    (例如util.inherits(MyTransform, Transform); ) 在您的构造函数中调用父类的构造函数,以确保内部的机制被正确初始化。...当处于流动模式时,数据由底层系统读出,并尽可能快地提供给您的程序;当处于暂停模式时,您必须明确地调用 stream.read() 来取出若干数据块。流默认处于暂停模式。 A....通过以下三种方法,可读流会被切换到流动模式      1. 添加一个'data'事件处理器来监听数据。      2. 调用 resume()方法来明确开启数据流。        3....调用 pipe()方法将数据发送到一个可写流(Writable)。      之前我一直对pipe()方法有疑问,不清楚其用法。...可写流重要的两个方法,    1. write()方法      该方法向底层系统写入数据,并在数据被处理完毕后调用所给的回调。

    1.2K60

    kotlin修炼指南9-Sequence的秘密

    计算是在终端操作中完成的,比如toList。 ❞ 因此,集合处理操作一旦被使用就会被调用。Sequence处理函数直到终端操作(一个返回其他东西而不是Sequence的操作)才会被调用。...差别并不是非常巨大的原因是--主要是因为经过许多步骤创建的集合被初始化为预期的大小,所以当我们添加元素时,只是把它们放在下一个位置。...尽管如此,当我们做一些处理步骤和单一的排序函数(或其他需要在整个集合上工作的函数)时,我们可以期望使用Sequence处理来提高性能。...Java流处理可以使用并行函数以并行模式启动。当我们的机器有多个经常未使用的内核时(这在现在很常见),这可以给我们带来巨大的性能提升。...Java流只在Kotlin/JVM中使用,而且只在JVM版本至少为8时使用。 一般来说,当我们不使用并行模式时,很难给出一个简单的答案,Java流和KotlinSequence哪个更有效。

    55620

    【linux】信号的保存和递达处理

    ,那么信号发送的本质就是:操作系统在向进程发送信号。        ...被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作。我们之前知道,进程递达之后的动作有三种:默认动作、自定义动作、忽略动作(执行动作,只不过这个动作就是什么都不做)。...但若去访问操作系统的资源,因为操作系统只有一个,当开机时,操作系统的资源会被加载到物理内存,进程访问时,通过同一个内核级页表。所以无论进程怎么切换,都不会更改3-4G的内核空间。        ...忽略其实最容易执行,只需要将pending中1改为0以后,啥都不做;而自定义就需要再将身份切换为用户态,然后去执行handler中的方法。那为什么不直接在内核态中去执行用户态中的方法呢?...---- 4.2 可重入函数和不可重入函数         举例说明:          在main执行流中,没有头结点的单链表进行头插,如上图所示:在执行到第一步时,此时被信号中断,结果导致main

    18820

    设计Go API的管道使用原则

    OpenChannel(name string, data []byte) (Channel, <-chan *Request, error) 当一个API向一个管道发送无界数据流时,在实现API时面临的问题是如果向管道发送数据会阻塞怎么办...Go发送了有界数据(只有1,当远程调用结束时)。但是注意到,由于管道是被当作参数传递到函数中的,所以它仍然存在慢速消费者问题。...signal.Notify这个API时,我很疑惑,“为什么它接收一个管道作为输入而不是直接返回一个管道给我用?”...func Notify(sig ...os.Signal) <-chan os.Signal 文档帮助我们理解为什么这不是好的选择: signal包向c发送数据时并不会阻塞:调用方必须保证c有足够的缓冲空间来跟得上潜在的信号速度...接下来会提很多问题,为什么标准库中可以使用管的地方却没有用管道。例如,http.Serve 返回了一个永不结束的等待被处理的请求流,为什么用了回调函数而不是将这些请求发送到一个处理管道中?

    1.3K60

    :第三章 - 事件修饰符的使用

    在下面的示例中,我们为 a 标签添加了一个点击事件,由于 a 标签本身具有默认的跳转事件,此时,当我们点击后,最终还是会执行 a 标签的默认事件。...c).capture:添加事件监听器时使用事件捕获模式   在上面的学习中我们了解到,事件捕获模式与事件冒泡模式是一对相反的事件处理流程,当我们想要将页面元素的事件流改为事件捕获模式时,只需要在父级元素的事件上使用...d).self:只当在 event.target 是当前元素自身时触发处理函数(比如不是子元素冒泡引起的事件触发)   在上面的例子中,我们为 div 绑定了一个点击事件,而我们的本意可能是只有当我们点击...例如在下面的代码中,只有第一次点击时才会触发绑定的事件,之后点击都不会触发。...  在页面滚动的时候,浏览器会在整个事件处理完毕之后再触发滚动,因为浏览器并不知道这个事件是否在其处理函数中被调用了 event.preventDefault(),而 passive 修饰符用来进一步告诉浏览器这个事件的默认行为不会被取消

    86530

    【Linux】进程信号 --- 信号的产生 保存 捕捉递达

    通过代码运行结果可以看出,当我们向进程发送2号信号时,进程此时不会再被终止了,而是打印出了一条信息"进程捕捉到了一个信号编号是2的信号",此时进程处理2号信号的行为就变成了自定义行为,去执行我们自己设定的...这个话题放到信号的递达处理部分进行讲解。 5. 有很多人误以为只要显示写了signal函数,这个函数在main执行流里面就会被调用。...这样的想法完全是错误的,我们显示写signal函数其实相当于注册了一个信号处理时的自定义行为,然后这个自定义行为handler不会平白无故被调用的,只有当对应信号发送给进程时,这个handler才会被调用...,否则这个函数是永远不会被调用的。...当调用signal捕捉函数时,如果处理行为采取自定义,则用户层定义的handler函数的函数名就会被加载到对应的内核数据结构handler表里面,内核调用handler进行自定义处理时,就会去handler

    1.7K10

    Java 设计模式最佳实践:6~9

    例如,如果服务 Y 负责更新帐户详细信息,服务 X 将向调用服务报告故障,或者对于 Y 正在执行的记录事务详细信息的所有服务,服务 X 将添加日志详细信息到回退队列,当服务 Y 备份时,它可以被清除。...例如,在系统中添加新员工记录时,需要向经理发送电子邮件。因此,负责管理员工记录的服务或组件将在添加新记录时向负责电子邮件功能的组件发送消息。处理这种通信有多种方法,但最常用的方法是通过消息队列。...你可能会问,为什么我们需要一个额外的层而不从控制器本身调用数据访问层(DAL)?如果您确定获取员工数据的唯一方法是通过控制器,则可以这样做。...最常见的是基于 REST 的通信,其中上传服务可以对其他两个服务进行 REST 调用,或者基于消息队列的通信,其中上传服务将向队列中添加可由其他服务处理的消息,或者基于状态的工作流,其中上传服务将在数据库中设置一个状态...虽然这两种方法都提供了一个不可修改的副本,但是当我们在集合(比如列表)上使用copyOf时,它会返回一个不能进一步修改的列表,加上对原始列表的任何更改都不会影响复制的列表。

    1.7K10

    Flux 是什么?

    正如你所看到的,此处的纯函数并没有副作用,因为,任何对它们的调用,都不会导致状态的变化。如果状态的改变是不可避免的,那么为什么还要采用这种做法?我们的方法是规定状态在哪里改变。...如果数据入口点就是我们的数据,这时候我们应该同步地将状态的改变应用到系统中的所有数据。 让我们花点时间想想这为什么如此重要。在系统中数据被异步更新时,我们必须考虑竞争条件。...可回溯性 我们知道,当数据流单向地从系统进入组件中的时候,很容易预测和跟踪所有可能会产生的影响。相反,当一个组件向其他任何一个组件发送数据的时候,却很难捕捉到数据是如何到达的。为什么会这样?...当我们能够很容易地弄清楚因果时,就可以将大部分时间花在构建应用的功能上,因为这才是用户真正关心的。 3 ....通知的一致性 在Flux 应用中,我们从一个组件向另一个组件发送数据时,需要保持数据流向的一致性。在保持一致的时候,还需要考虑系统中的数据流向机制。

    1.7K20

    前端面试题Vue答案

    之后当依赖项的 setter 触发时,会通知 watcher,从而使它关联的组件重新渲染。 vue为什么不支持IE8及更低版本?...2. vue有哪些缺点 Vue 不能检测数组和对象的变化 3.为什么vue不能检测对象的变化 对于对象, Vue 无法检测 property 的添加或移除,由于 Vue 会在初始化实例时对 property...所以一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝。new Vue 的实例是不会被复用的,因此不存在以上问题。...watch: 当我们需要在数据变化时执行的操作时使用(如调用其它函数) 追问 :能使用箭头函数定义computed和watch吗?...通过this. parent.event来调用父组件的方法 2:在子组件里用$emit向父组件触发一个事件,父组件监听这个事件 3:父组件把方法传入子组件中,在子组件里直接调用这个方法父组件如何调用子组件的方法

    2.4K11

    SDN实战团分享(十):SDN控制器性能测试

    于是今晚我就在这里向大家汇报一下近期关于SDN控制器性能测试的工作内容,希望明天可以给这个Todo item打上一个气定神闲的勾勾。...2.测试仪与运行控制器的服务器直接连接,以防止中间设备产生非必要的时延和失效。3.每一测试例建议迭代执行10次以上,记录最大值,最小值以及平均值。4....每一组柱状图代表不同的ARP消息个数总量,不同的颜色代表不同的上送速率(个/秒)。可以看出上送速率在200-400之间时流表下发速率与上送速率正相关,当速率达到500时下发速率没有显着变化。...北向方面的因为各家控制器实现都不一样,所以目前我们除了自己写一个app然后看log之外也没什么太好的方法。...A3:时间间隔就相当于是时延 还可以从吞吐量 比如同时发送大量的请求,看看是否可以正常工作来衡量,当然如果是性能范畴之外的,还可以检测北向接口策略冲突控制器是否会侦测,是否能调用system call等安全方面衡量

    1.5K70

    【C++】从入门到精通第一弹——基础知识

    方法: 在函数声明前加上关键字inline 在函数定义前加上关键字inline 但是在我们使用内联函数时,有时候编译器并不会同意我们使用,因为有的编译器会自动判断函数的大小,如果函数过于复杂或者函数调用了自己...,编译器都不会把其当作内联函数的。...但宏的缺点就是宏不能按值传递,所以如果当我们使用c的宏执行了类似函数的功能时,要考虑将其转换为c++的内联函数。...它是一种动态存储方式,内存分配在栈中,当函数调用结束后就会被自动释放。...如果采用标准输出流cout输出,则返回cout.输出每个操作符后都是如此,即返回输出它的流,以便向流中继续插入下一个数据。

    22150

    利用KubeStellar驾驭多集群Argo工作流的力量

    难怪 Argo 工作流已成为 Kubeflow Pipelines 等流行的云原生 AI/ML 项目的组成部分。 多集群工作流的必要性 但为什么要在多个集群上运行这些工作流?答案在于组织的独特需求。...显而易见的解决方案似乎是向集群添加更多工作节点,但这种方法有实际限制,尤其是在多区域和多地理位置场景中。 那么,当我们意识到需要多集群解决方案时会发生什么?...entrypoint 指定要首先执行的初始模板或“main”函数。...工作流由 模板定义(可能包括容器、脚本或资源)和 模板调用(用于调用其他模板和控制执行流)组成。...当在控制集群(也是 WDS)中创建匹配的对象时,控制器会将其打包到清单中,并通过 ITS 层将其传递到选定的 WEC。

    15610

    父组件使用v-model,子组件竟然不用定义props和emit抛出事件

    这句话的意思是customRef函数的返回值是一个ref对象。当我们对返回值ref对象进行“读操作”时,会被拦截到ref对象的get方法中。...当我们对返回值ref对象进行“写操作”时,会被拦截到ref对象的set方法中。...当我们对ref变量进行写操作时,此时会被拦截到Proxy的set方法,在set方法中会将收集到的依赖依次取出来执行,我们前面收集的依赖是render函数。...前面我们讲过了getCurrentInstance函数的返回值是当前vue实例,所以这里就是调用vue实例上面的emit方法向父组件抛出事件。...并且触发依赖重新执行子组件的render函数,将子组件的最新变量的值更新到浏览器中。为什么要调用trigger2函数呢?

    26710

    Linux——进程信号

    当我们进行正在递达第一个信号期间,同类型信号无法被递达,因为当前信号正在被捕捉,系统会自动将当前信号加入到该进程的信号屏蔽字。 当信号完成捕捉动作时,OS又会自动解除对该信号的屏蔽。...那么,刚才这段代码这里: 当我们正在处理某一种信号的时候,我们也想顺便屏蔽其他信号,就可以添加到这个sa_mask中。 让上面的也屏蔽3号信号试一下。...当某个信号的处理函数被调用时,内核自动将当前信号加入进程的信号屏蔽字,当信号处理函数返回时自动恢复原来的信号屏蔽字,这样就保证了在处理某个信号时,如果这种信号再次产生,那么 它会被阻塞到当前处理结束为止...如果在调用信号处理函数时,除了当前信号被自动屏蔽之外,还希望自动屏蔽另外一些信号,则用sa_mask字段说明这些需要额外屏蔽的信号,当信号处理函数返回时自动恢复原来的信号屏蔽字。...到sighandler函数,sighandler也调用insert函数向同一个链表head中插入节点node2,插入操作的 两步都做完之后从sighandler返回内核态,再次回到用户态就从main函数调用的

    2.7K30
    领券