将代码与Mathjax同步金宝搏188γ

金宝搏188Mathjax以异步方式执行其大部分活动,也就是说,在操作完成之前,您为启动这些操作所做的调用将返回,如果操作尚未完成(甚至可能尚未启动),您的代码将继续运行。加载文件等操作,正在加载基于Web的字体,以及在浏览器中异步创建样式表,由于javascript没有在等待动作完成时停止程序的方法,使代码和这些类型的操作同步变得更加困难。金宝搏188Mathjax使用三种机制来克服这种语言缺陷:回调,队列,和信号。

回调是在操作完成时调用的函数,这样您的代码就可以在启动操作时停止的地方继续运行。而不是只有一个程序来启动一个动作,等待它完成,然后继续,你把这个功能分成两部分:第一部分建立并启动动作,动作完成后的第二个动作。回调类似于附加todom元素的事件处理程序,当某个动作发生时调用。见回调对象有关如何指定回调的详细信息,请参阅页。

队列是Mat金宝搏188hjax同步必须按顺序执行的操作的方法,即使它们涉及异步事件,例如加载文件或动态创建样式表。你排队的动作是回调将执行Medin序列的对象,使用Mat金宝搏188hjax处理一个操作到下一个操作的链接。金宝搏188Mathjax维护一个主队列,您可以使用它与Mathjax同步,但您也可以为需要相互同步的操作创建自己的私有队列,但对整个马查克斯来说金宝搏188不是。见队列对象有关详细信息,请参阅页面。

信号是将自己的代码与Mathjax同步的另一种方法。金宝搏188Mathjax采取的许多重要措施(比如在页面上设置新的数学,金宝搏188或者加载一个外部组件)通过向一个称为信号.您的代码可以通过提供一个回调来注册接收这些信号中的一个或多个的兴趣,以便在发布信号时调用。信号到达时,金宝搏188Mathjax将调用您的代码。这有点像事件处理程序,除了许多不同类型的事件可以通过相同的信号,信号有一个“存储器”,也就是说,如果您对特定类型的信号感兴趣,并且该信号已经发生,您将了解过去发生的事件以及将来发生的事件。见信号对象有关详细信息,请参阅参考页。另请参阅测试/样本信号.htmlMathjax中的文件金宝搏188测试usingsignals工作示例的目录。

下面的链接将更详细地解释这些内容: