私はdojoのツールキットのヒッチの機能を理解するのに苦労しています。私は、次のされ、https://dojotoolkit.org/reference-guide/1.10/dojo/_base/lang.htmlでこの例で探しています:dojoのヒッチを理解する
require(["dojo/_base/lang"], function(lang){
var myObj = {
foo: "bar",
method: function(someArg){
console.log(this.foo);
}
};
var func = lang.hitch(myObj, "method");
func();
});
は、代わりにmyObj.method(引数)によってその機能を利用することはできませんか?ありがとうございます
はありがとう:
ここでは、イベントハンドラでは問題できる方法を示す生きた例です。私は理解し始めていると思う。私はJavaScriptプログラミングの初心者です。 JavaScriptの非同期性のため、このようなユーティリティの必要性はありますか? – Naci
@Naci:いいえ:-)実際、JavaScriptには非同期性がありません。言語であるJavaScriptはほぼ完全に同期しています。それの最初の(そしてこれまでのところのみ)非同期的な側面がES2015で追加されました(約束に対して「then」または「catch」へのコールバックが常に非同期に呼び出されるという保証)。 *(続き)* –
*(続き)*しかし、JSは非同期動作が支配的な環境*ブラウザとNodeJSでよく使われます。しかし、それはこのようなユーティリティの理由ではない、それは単なる平行なものである。例えば、あなたが 'Array#sort'を与えるコールバックは同期ですが、そのためにオブジェクトメソッドを呼びたいのであれば、' bind'が必要です。なぜなら、イベントハンドラ(非同期)。 –