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,在该集合之后将调用 操作和任何转换都已完成。
基于此,我想知道这个承诺是否真的适用于转型后的工作。
答案 0 :(得分:6)
基于此,我想知道这个承诺是否真的意味着 转型后的工作。
完全。值更新(以及每个模板生成的DOM更改)发生 同步 ,承诺用于异步响应转换结束。
这也是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() );
操作还有输入参数的哈希映射选项的原因,因此多个集合将一次批处理:
{{1}}