mobx 的超时时间是什么时候?

having a timeout for mobx's when?

有没有一种简洁的方法可以让 mobx when() 调用在超时后触发,即使谓词不成立?

我可以在 setTimeout 之后设置一个 observable 并在谓词中检查它,但是我需要清理更多内容。 when 有一个选项参数,但我还没有找到它的文档。

使用whenWithTimeout from mobx-utils

如果您使用的是 MobX 4.0.0 或更高版本,您可以直接将 timeout 作为选项(第三个参数)传递给 whenthe changelog

中提到过

将可选参数作为对象传递...

when(predicate: () => boolean, effect?: () => void, options?);

when(() => true,
 () => { ..do something },
 { timeout: 1000 }
)