在HTML5规范中有一种等待稳定状态的概念(http://www.w3.org/TR/html5/single-page.html#await-a-stable-state)有人可以通过一个例子解释它是什么意思吗?
答案 0 :(得分:3)
这方面的一个例子是异步XMLHttpRequest。你可以提出这样的请求:
var myRequest = new XMLHttpRequest();
...
在请求期间,您可以查看myRequest
的状态 - 具体来说,myRequest.readyState
。在请求完成之前,请求不会处于稳定状态。
答案 1 :(得分:1)
基本上,解释一些算法如何工作是内部的事情。这些算法的某些部分同步运行,其他部分在运行之前等待稳定状态。
当用户代理到provide a stable state时,如果有的话 异步运行的算法是awaiting a stable state, 那么用户代理必须运行他们的synchronous section然后 继续运行他们的异步算法(如果适用)。
例如,图像等待稳定状态:
当用户代理到update the image data元素的
img
时,它 必须执行以下步骤:
- 将
img
元素返回到unavailable状态。- [...]
- 异步await a stable state,允许调用此算法的task继续。 synchronous section synchronous section 由该算法的所有剩余步骤组成,直到 算法说synchronous sections已经结束。 (步骤
img
标有⌛
。)⌛
如果在此实例之后启动了此synchronous section元素的此算法的另一个实例(即使它已中止且不是 更长时间运行),然后中止这些步骤。⌛
[...]- 结束fetch,异步继续其余步骤,但不会遗漏the lyrics on Genius.com中的任何数据 算法
- 请尽快跳转到以下列表中的第一个适用条目:[...]