我有调度动作的功能。我想在操作之前和之后显示一个加载程序。我知道将对象传递给时会做出反应setState
。问题是如何以异步方式更新属性:
handleChange(input) {
this.setState({ load: true })
this.props.actions.getItemsFromThirtParty(input)
this.setState({ load: false })
}
基本上,如果我将此属性作为应用程序状态的一部分(使用Redux),那么一切都很好,但是我真的更喜欢将此属性仅带到组件状态。
将其余代码包装在第一个的回调中setState
:
handleChange(input) {
this.setState({
load: true
}, () => {
this.props.actions.getItemsFromThirtParty(input)
this.setState({ load: false })
})
}
有了这个,你load
可以保证被设定为true
之前getItemsFromThirtParty
被调用,并且load
被设置回false
。
这假设您的getItemsFromThirtParty
功能是同步的。如果不是,则将其变为promise,然后setState
在链接then()
方法中调用final
:
handleChange(input) {
this.setState({
load: true
}, () => {
this.props.actions.getItemsFromThirtParty(input)
.then(() => {
this.setState({ load: false })
})
})
}
gRPC是否支持以下服务器和客户端之间的通信方案?1.客户端连接到服务器并调用waitMessages等方法。然后,客户端正在等待来自服务器的一些消息。2.服务器不时向客户端发送消息。例如,调用客户端的某个方法。3.客户端与服务器断开连接 我不喜欢通过轮询服务器来实现这个方案。我想调用服务器方法一次,然后等待消息。
我正在为一家德国公司评估Dart,将各种Java程序移植到Dart,并对结果进行比较和分析。在浏览器中,飞镖轻松获胜。对于服务器来说,软件性能似乎是一个严重的问题(请看我的这个问题),但这基本上得到了缓解。 现在我正在移植一些“简单”的命令行工具,我没想到会有任何严重的问题,但至少有一个问题。一些工具确实会发出HTTP请求来收集一些数据,独立的Dart虚拟机只以异步方式支持它们。纵观所有我能找到的
8.2 使用异步任务 注意:本节所介绍的功能要求 vim 编译包括 +job 特性。 8.2.1 简单任务体验 前文说到,Vim 的异步任务主要是针对外部命令的。那我们就先以最简单最常见的系统命 令 ls 为例,其功能是列出当前目录下的文件,若在 Windows 操作系统下或可用 dir 命令代替。 首先请在 shell 中进入一个非空目录,便于实践,并在 shell 中执行如下命令: $ ls
问题内容: 在React Native中用作异步函数是一种好习惯还是应该避免呢? 我需要从安装组件时获取一些信息,但是我知道使之成为可能的唯一方法是使函数异步。 这有什么问题吗,还有其他解决方案吗? 问题答案: 让我们首先指出差异并确定差异可能如何引起麻烦。 这是异步和“同步” 生命周期方法的代码: 通过查看代码,我可以指出以下差异: 该关键字:在打字稿,这仅仅是一个代码标记。它做两件事: 强制将
问题内容: 如何从异步函数返回值?我试图喜欢这个 它给了我, 问题答案: 您不能超出范围。为了获得预期的结果,您应该将其包装到异步IIFE中,即 样品。 有关更多信息 由于返回一个Promise,因此可以将其省略,如下所示: 然后像以前一样做
我想进行一个基于当前状态的API调用,但不能使setState函数作为异步函数工作。 给我错误: 类型为“”的参数(状态:只读)= 如果我在setState方法之外获取数据,它会起作用,但我害怕对过时的页码进行API调用: