我在学习WebFlux。Wiki说,反应性编程是:
例如,在命令式编程设置中,a:=b+c意味着在计算表达式的瞬间为a分配b+c的结果,之后,可以用
E 111对E 113ae 214>的值更改b和/或cE 210的值。然而,在反应性编程中,a的值在b和/或c的值发生变化时是自动更新的;无需程序重新执行句子a:=b+ce 224来确定E 125aE 226的当前赋值。
好的。当我复制例子,如的时候
@RestController
public class PersonController {
private final PersonRepository repository;
public PersonController(PersonRepository repository) {
this.repository = repository;
}
@PostMapping("/person")
Mono<Void> create(@RequestBody Publisher<Person> personStream) {
return this.repository.save(personStream).then();
}
@GetMapping("/person")
Flux<Person> list() {
return this.repository.findAll();
}
@GetMapping("/person/{id}")
Mono<Person> findById(@PathVariable String id) {
return this.repository.findOne(id);
}
}我要派两个人。(在铬页1上)然后得到所有的人的名单(在铬页2)然后再添加一个人(在铬页3上)然后我回到第二页(没有刷新),我没有看到更新的名单,我应该吗?
此外,应该如何在这里进行更新/删除操作?
发布于 2017-11-06 08:44:38
我想你指的是反应性编程维基百科页面,也许你读得太多了。这个示例(和著名的电子表格)通常指向UI丰富的应用程序,这些应用程序正在侦听用户事件并发布应用程序事件来更新UI。
反应性编程和反应性流本身并不足以建立这样的基础设施。
在Controller中,执行操作并以反应性的方式发布值:通过背压支持和访问反应性API来组合它们。一旦呈现了JSON响应,客户机就不会从服务器接收新元素。
但是,您可以通过发布事件并在服务器和浏览器之间建立持久连接(例如SSE)来创建这样的系统。
https://stackoverflow.com/questions/47128679
复制相似问题