オブジェクトファイバー
ファイバー操作オブジェクト。このオブジェクトは直接作成できません
使用coroutine.startファイバーの作成後、このオブジェクトが返され、ファイバーの処理とファイバー間通信に使用されます。ファイバーのメイン関数は、this または経由でこのファイバー オブジェクトにアクセスできます。coroutine.current現在のファイバーを取得します。
1
2
3
4
5
6
7
8
9function func(v1) {
console.log(v1 + this.v);
}
var fb = coroutine.start(func, 100);
fb.v = 123;
fb.join();
ファイバーローカルストレージは、共有ファイバーオブジェクトを通じて実現されます。coroutine.current現在のファイバーを取得し、その変数を変更およびクエリすることで、データ共有の目的を達成します。
1
2
3
4
5
6
7function func() {
console.log(coroutine.current().v);
}
coroutine.current().v = 100;
func();
ファイバーが作成されると、現在のファイバーのローカル変数が新しいファイバーに自動的にコピーされます。その後、それぞれのローカル変数を変更しても、変数自体がオブジェクト参照でない限り、相互に影響を与えることはありません。
1
2
3
4
5
6
7
8
9
10
11function func() {
console.log(coroutine.current().v);
}
coroutine.current().v = 100;
var fb = coroutine.start(func);
coroutine.current().v = 200;
fb.join();
相続関係
メンバーのプロパティ
id
長い間、ファイバーの一意の ID をクエリします
1readonly Long Fiber.id;
caller
ファイバー、クエリファイバーの呼び出し側ファイバー
1readonly Fiber Fiber.caller;
stack
文字列、ファイバーのコールスタックをクエリします
1readonly String Fiber.stack;
stack_usage
整数、ファイバーが使用するスタック サイズを問い合わせる
1readonly Integer Fiber.stack_usage;
メンバー関数
join
ファイバーが終了するまで待ちます
1Fiber.join();
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String Fiber.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value Fiber.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します