ractive.set方法返回一个promise。当执行简单的设置操作(单个值或映射),然后立即通过ractive.get引用新值时,是否建议使用promise?还是完全没有必要?
我一直在回避诺言,发现我不需要诺言,但到目前为止,也许我只是很幸运。这是我的意思的示例:
ractive.set("foo", "bar");
console.log(ractive.get("foo")); // always outputs the correct value "bar"
我担心设置操作是异步的,这在较慢的计算机上或者如果我开始使用Ractive的更高级功能时会变得很明显。
根据Ractive docs:
[ractive.set]返回一个 promise ,即在设置之后将调用
操作和任何过渡都完成。
基于此,我想知道这个 promise 是否真的适用于过渡后工作。
最佳答案
基于此,我想知道这个 promise 是否真的意味着
过渡后的工作。
究竟。值更新(以及每个模板导致的DOM更改)发生在同步上,promise用于对转换结束进行异步响应。
这也是为什么set
操作还为输入参数提供了一个哈希映射选项的原因,因此可以一次性处理多个集合:
ractive.set({
foo: 'foo',
bar: 'bar'
}).then( () => {
// this happens asynchronously ***after*** code execution has
// continued below on next event cycle or after transitions complete
});
// data and DOM have been updated as the code continues synchronously here:
console.log( ractive.get() );
关于ractivejs - 什么时候使用ractive.set返回的promise?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30247365/