役に立ちましたか?

解決

この関数は、必要なように内部モジュールを返します。それは公開されていないので、あなたのコードでそれに頼るべきではありませんが、あなたが物事がどのように機能するかを理解したい場合は、それを使うことができます、あなたはノードの低レベルのオブジェクトで再生することができます。

例えば、ここ timer_wrapバインディングが登録されています。IT エクスポート Timerコンストラクタ。lib/timers.js at's href="https://github.com/nodejs/node/blob/19ff5cf1c50e9d91d0a7a35152d20f175a2385d/lib/timers.js#l3">インポートされた

他のヒント

これは、本質的に外出してC ++機能をつかみ、それをJavaScript内で利用可能にする機能です。 zlib

で使用されるこの例のprocess.binding('zlib')を実行してください。

これは本質的に外出し、ZLIB C ++オブジェクトを取得してから、JavaScriptコードの残りの時間を使用しています。

だからあなたが実際に出かけないZLIBを使うとき そしてC ++ライブラリをつかみ、あなたはあなたのためにC ++機能を折り返すJavaScriptライブラリを使用しています。

使いやすくする

process.binding node.jsのJavaScript側をnode.jsのC ++側に接続します。 Node.jsのC ++側は、そのノードが実際に実装されているすべての内部作業がある場所です。そのため、多くのコードは最終的にC ++コードに依存しています。 Node.jsはC ++のパワーを使用しています。

これは例です:

const crypto=require(“crypto”)
const start=Date.now()
crypto.pbkdf2(“a”, “b”, 100000,512,sha512,()=>{
console.log(“1”:Date.now()-start)
})
.

cryptoは、ノードとパスワードの保存のためのNode.jsの組み込みモジュールです。これがNode.jsに実装する方法ですが、実際のハッシュプロセスはNode.jsのC ++側で行われます。

process.binding("crypto")は、このプロセスをSRCディレクトリの輸出業者に取り入れます.Node.jsのC ++ World。 Node.jsのこの側では、V8は、私たちが異なるプログラムの内側にあるnode.js値をブール値または関数またはオブジェクトのようなものに翻訳し、それをC ++の同等物に変換します。

JavaScriptコードがC ++に変換された後、libuvは起こるつもりですが、イベントループの外側のC ++側で上記のコードを実行するためにすべての重い計算を実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top