Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何阅读Javascript文档?_Javascript_Documentation_Indexeddb - Fatal编程技术网

如何阅读Javascript文档?

如何阅读Javascript文档?,javascript,documentation,indexeddb,Javascript,Documentation,Indexeddb,我正在努力学习IndexedDB的精髓,并将其贯穿始终。作为一个JavaScriptNoob,我很难理解一些文档 通过修补,我发现处理deleteDatabase调用的代码如下: var req = indexedDB.deleteDatabase(DB_NAME); req.onsuccess = function () { console.log("Deleted database successfully"); }; req.onerror = function (e) {

我正在努力学习IndexedDB的精髓,并将其贯穿始终。作为一个JavaScriptNoob,我很难理解一些文档

通过修补,我发现处理deleteDatabase调用的代码如下:

var req = indexedDB.deleteDatabase(DB_NAME);
req.onsuccess = function () {
    console.log("Deleted database successfully");
};
req.onerror = function (e) {                        
    console.log(e.message);
};
req.onblocked = function () {                        
    console.log('Database is blocked right now...try again later');
};

在文档中(甚至是VS或Sublime等工具中的intellisense、browser dev tools等)有没有说明
.onerror
事件传递错误对象
e
,但
.onblocked
没有传递。

首先,我们来看一下
req
类型的定义,
IDOpenRequest

此接口将
onblocked
声明为:

attribute EventHandler onblocked;
接口扩展了
IDBRequest

此接口将
onerror
属性声明为:

attribute EventHandler onerror;
现在我们将检查什么是
EventHandler

术语和算法文档基URL、事件处理程序属性、事件处理程序事件类型、函数、来源、相同来源、结构化克隆、结构化克隆算法、任务、任务源和任务队列由HTML5规范[HTML5]定义

索引数据库API规范没有定义它。它使用HTML5规范中的定义

它们链接到HTML5的完整规范

我们导航到定义
EventHandler
的部分


因此,当
EventHandler
不是
null
时,它是一个接受
事件
参数的函数。

您只需阅读。

就可以获得相当多的信息,然后就在下面,“出于历史原因,
onerror
处理程序具有不同的参数:”所以如果我理解正确的话…除了脚注说明一个错误由于历史原因被不同地处理之外。。。无法推断onblocked没有参数,但onerror有?我甚至不认为脚注适用于IndexedDB。此外,根据
onerrorventhandlernNull
,第一个参数应该是
Event
DOMString
,两者都没有
message
属性
onblocked
应该有一个参数,类型为
blocked
的简单
事件。你是说文件不正确吗?还是不完整?换句话说,仅凭文档(没有在线示例),我是否能够构建问题中的代码?这是一个规范。很难说规范是错误的。如果浏览器不遵守它,那就不同了。我知道如果给定这些规范,我将无法提出
req.onerror=function(e){console.log(e.message);}'
。你能编辑你的问题标题以更具体地描述indexedDB吗?@Josh我举了indexedDB为例。但我经常在其他功能上遇到类似的问题。
[TreatNonCallableAsNull]
callback EventHandlerNonNull = any (Event event);
typedef EventHandlerNonNull? EventHandler;