gpt4 book ai didi

javascript - HTML5 IndexedDB Async API 疑惑

转载 作者:太空狗 更新时间:2023-10-29 14:15:26 25 4
gpt4 key购买 nike

在阅读 HTML5 IndexedDB Specification 时我对它的异步请求模型有些怀疑。查看 request api example 时, open 方法用于启动异步请求。

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

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

  • 这不是竞争条件吗?
  • 如果 open 方法在 javascript 解释器执行对 onsuccess 的赋值之前成功,会发生什么情况?
  • 或者只有在两个回调都注册后请求才真正开始?

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

db.open('AddressBook', 'Address Book', {
onsuccess: function(e) { ... },
onerror : function(e) { ... }
});

最佳答案

不会出现竞争条件,因为 JavaScript 引擎将完成实际作用域(函数)的执行,然后触发任何回调或事件处理程序。阅读以下 comment在 Mozilla Hacks 上。

关于javascript - HTML5 IndexedDB Async API 疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com