了解Nodejs文档
我可能在想,但是我无法消化Nodejs文档。 我是新来的JavaScript和来自Java背景。
我的问题不是关于任何具体的nodejs函数只是全面的理解。 下面我举了一个我想了解的例子
当使用像Java这样的静态types语言时,非常清楚方法调用需要什么types。 一个简单的例子,如果我想sorting一个int的数组我可以看看Arrays.sort ,看看它需要一个int [](其他types也一样)。 我也可以看到它返回无效。
public static void sort(int[] a)
但是,javascript是一种dynamic语言,因此没有types的API调用。 以encryption模块为例
crypto.pbkdf2(password, salt, iterations, keylen, callback) Asynchronous PBKDF2 applies pseudorandom function HMAC-SHA1 to derive a key of given length from the given password, salt and iterations. The callback gets two arguments (err, derivedKey).
所以,如果不出去查找示例代码,或者查看nodejs源代码,我怎样才能知道函数的参数types? 我意识到可以通过查看名称(即callback函数types)来派生types,但有没有其他方法?
例如,文档说callback得到两个参数err和derivedKey。 derivedKey的types是什么,types或err是什么? 我错过了关于文档的东西吗? 你怎么知道你是否通过了正确的types?
注意:我已经知道了derivedKey和err的types是什么,所以我不需要像“derivedKey is ….”这样的答案。我的问题是关于来自静态types语言的人的Nodejs文档的整体理解,不特定于crypto.pdkdf2。
那么你几乎是在思考。 如果没有明确解释,你将不得不猜测大部分。 就像你可以猜测迭代和keylen是数字而不是string。 当NodeJS认为你不能猜测的时候,NodeJS会明确地解释参数,或者你必须知道更多的信息。 像在crypto.createCredentials(details)
他们解释说,细节是一个字典,你需要使用哪些键。 Fi的情况下err和derivedKey,因为没有明确的信息,我会假设都是string。 如果事实certificate他们不是,我会console.log他们在callback函数,看看他们是什么。
如果文档中logging了所有参数的types,但是不知道是否值得这个function,文档可能会更加清晰。
我有一些C#和Java的经验,并已经编写了JavaScript大约一年,所以我可能能够框架。
对象
JavaScript的一个方面就是可以当场制作这样的对象:
var options = { name: "something", age: 9, what: function() { return 8; } };
每个人都利用这一点,所以理解JavaScript库是一个关键。
您也可以采取上述options
对象,然后像这样去:
options.mood = "ok";
换句话说,对象只是属性的捆绑,而没有设置结构。 你可以像for ... in
循环一样使用语言结构来遍历它们。 也就是说,像err
这样的事物的“types”基本上是一个关联数组。
callback
callback基本上是无处不在,所以问题就是如何处理它们。 一个常见的模式是function (err, maybeSomething)
。 大多数情况下,你只关心err
是不是“某事”。 那就是,你会这样做很多:
if (err) { ... }
坦率地说,我做了很多console.log(err)
来查看我在开发过程中得到的结果。
之后,这是真正的文件。 其中一些比别人好。 你不是真的错过了什么。 关于唯一的“诀窍”是有时一个文档将解释顶部的所有内容。
你会发现自己有时候会find一个图书馆在做什么,但有97%的时间通过一些快速的猜测和检查来让你感动。
- 从Javascript调用Typescript类时的语法
- 如果函数不使用任何I / O,NodeJSasynchronous函数的目的是什么?
- DerbyJS和身份validation
- coffeescript,玉器,手写笔 – > js,css资产经理? 的node.js
- 更快的方法是:在MongoDB / Mongoose中查找()。limit(1)或者findOne()
- 将date时间转换为JavaScript或jQuery中的特定格式?
- 如何将自定义脚本添加到运行JavaScript文件的package.json文件中?
- Javascript超时重启
- 信号量等同于Node js,variables在并发请求中被修改?