相关疑难解决方法(0)

怀疑HTML5 IndexedDB异步API

在阅读HTML5 IndexedDB规范时,我对其异步请求模型有一些疑问.查看请求api示例时,该open方法用于启动异步请求.

var request = indexedDB.open('AddressBook', 'Address Book');
request.onsuccess = function(evt) {...};
request.onerror = function(evt) {...};
Run Code Online (Sandbox Code Playgroud)

在此请求启动时,尚未定义事件处理程序.

  • 这不是竞争条件吗?
  • open在javascript解释器执行赋值之前方法成功时会发生什么onsuccess
  • 或者一旦两个回调都被注册,请求才真正开始?

在我看来,像下面这样的api会更合乎逻辑:

db.open('AddressBook', 'Address Book', {
    onsuccess: function(e) { ... },
    onerror  : function(e) { ... }
});
Run Code Online (Sandbox Code Playgroud)

javascript html5 asynchronous

7
推荐指数
1
解决办法
924
查看次数

标签 统计

asynchronous ×1

html5 ×1

javascript ×1