似たようなトピックのように見える他の質問がありますが、私の特定の問題で私を助ける答えはありません。私はsetTimeout
とsetInterval
関数の周りに構築されたJavaScriptでスレッドライブラリを作成しました。これは非常にうまく動作しますが、私のスレッドライブラリではスレッドの名前がスレッドのものであることが必要です。つまり、スレッドをインスタンス化するときに、このように見えます。これまたは自己参照からvar名を取得するjavascript
t = new Thread(payload, "t")
ペイロードは、実行のチャンスを得たときにスレッドが行うことを定義するオブジェクトです。これにより、基本スレッド「配管」からスレッドのタスクを抽象化することができます。いずれにしても、setTimeout
とsetInterval
がJavaScriptコマンドを文字列として受け取るので、スレッドの名前を渡す必要があるという私の問題setTimeout("doStuff", 0)
。より多くのアプリケーションで私のスレッドライブラリを使用すると、スレッドに名前を渡すことはもっと苦痛になっています。
var myThreadName = this.someMagicFunction();
または
var myThreadName = someMagicFunction(this);
または他のいくつかの素晴らしい方法は、誰がどんな考えを持っている場合:だから私はこのようなスレッドクラス内からスレッドの名前を取得することによってこの問題を回避できるようにしたいと思います私にとって私は最も感謝しています。
魅力的な働きをしてくれてありがとう。私はsetTimeout(doStuff()、1)を行っていたので、私は前にトラブルに遭遇していました。関数を名前で渡すと完全に動作します。もう一度、助けてくれてありがとう。 – Overfloater
@Overfloater、問題ありません。あなたの質問に答えた場合は、チェックマークをクリックして受け入れてください。 –