不要依赖于反应器通报的顺序。
除了少数特例之外,建议您不要依赖于反应器通报的顺序。例如,OPEN 命令将触发 BeginCommand、BeginOpen、EndOpen 和 EndCommand 事件。然而,它们发出的顺序可能不是这样的。您可以安全地依赖的顺序只有 Begin 事件是在相应 End 事件之前发生。例如 commandWillStart() 总是在 commandEnded() 之前发生,而 beginInsert() 总是在 endInsert() 之前发生。因为将来可能引入新的事件通报,可能会重新排列现有通报顺序,所以依赖于更复杂的顺序,可能会给您的应用程序带来问题。
不要依赖于通报间函数调用的顺序。
在通报之间函数调用的顺序也是不能保证的。例如,当收到对象 A 的通报 :vlr-erased 时,它仅表示对象 A 被删除,如果在收到对象 A 的通报 :vlr-erased 之后收到了对象 B 的通报 :vlr-erased,这只是表示对象 A 和 B 都已被删除。它并不能保证 B 是在 A 后面被删除。如果应用程序依赖于这个层次的关系,那应用程序在后续版本的 AutoCAD 中很可能会崩溃。所以不要依赖于这些顺序,而应该依赖于用反应器来指示系统状态。