什么时候使用 ractive.set 返回的承诺?
When to use the promise returned by ractive.set?
ractive.set方法returns一个承诺。当执行 简单 设置操作(单个值或映射),然后立即通过 ractive.get 引用新值时,是否建议使用 promise?还是完全没有必要?
我一直在逃避承诺,发现我不需要它,但也许到目前为止我只是很幸运。这是我的意思的一个例子:
ractive.set("foo", "bar");
console.log(ractive.get("foo")); // always outputs the correct value "bar"
我担心设置操作是异步的,这在速度较慢的机器上会变得很明显,或者如果我开始使用 Ractive 的更高级功能。
根据 Ractive docs:
[ractive.set] Returns a Promise that will be called after the set
operation and any transitions are complete.
基于此,我想知道这个承诺是否真的适用于 post-过渡工作。
Based on that, I wonder if the promise is really meant for
post-transition work.
没错。值更新(以及每个模板产生的 DOM 更改)同步发生 ,承诺用于异步响应结束转换。
这也是为什么 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() );
ractive.set方法returns一个承诺。当执行 简单 设置操作(单个值或映射),然后立即通过 ractive.get 引用新值时,是否建议使用 promise?还是完全没有必要?
我一直在逃避承诺,发现我不需要它,但也许到目前为止我只是很幸运。这是我的意思的一个例子:
ractive.set("foo", "bar");
console.log(ractive.get("foo")); // always outputs the correct value "bar"
我担心设置操作是异步的,这在速度较慢的机器上会变得很明显,或者如果我开始使用 Ractive 的更高级功能。
根据 Ractive docs:
[ractive.set] Returns a Promise that will be called after the set operation and any transitions are complete.
基于此,我想知道这个承诺是否真的适用于 post-过渡工作。
Based on that, I wonder if the promise is really meant for post-transition work.
没错。值更新(以及每个模板产生的 DOM 更改)同步发生 ,承诺用于异步响应结束转换。
这也是为什么 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() );