比如通过websocket获取了一个var a = 123;
下一次获得数据的时候a = 321,
如何监听a的变化,当a值出现变化的时候触发一个事件呢?
当然不希望用setInterval这样的轮询来实现……
比如通过websocket获取了一个var a = 123;
下一次获得数据的时候a = 321,
如何监听a的变化,当a值出现变化的时候触发一个事件呢?
当然不希望用setInterval这样的轮询来实现……
Mobx 呀~
import {observable} from "mobx";
const value = observable.box("123");
console.log(value.get());
// prints '123'
value.observe(function(change) {
console.log(change.oldValue, "->", change.newValue);
});
value.set("456");
13 回答12.6k 阅读
7 回答1.7k 阅读
3 回答2.5k 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
5 回答2.5k 阅读
2 回答1.1k 阅读✓ 已解决
基本数据类型的话,好像没有类似的 api,对象类型的话,可以试试 setter/getter,你这里的需求应该是用 setter,这个通过 Proxy 对象实现很方便的。比如:
我这里为了演示,没有写提供 handler.set 的逻辑,它就是值发生改变时的代理方法。