Pot.js と PotLite.js で利用可能。
同期処理で wait が可能かどうか。
同期処理で wait できる環境の場合、 Pot.System.isWaitable が true になります。
それ以外の環境では false になります。
同期処理で wait 可能な場合、同期処理の Pot.forEach() などのイテレータで速度の指定が有効になります。
通常、非同期処理の Pot.Deferred.forEach() などのイテレータによって速度の指定が可能なところ、
Pot.forEach() のような同期ループで負荷分散ループが可能になります。
利用できる環境は、主に Components が利用可能な実行環境になります。
if (Pot.System.isWaitable) {
// 同期ループで負荷分散/速度指定が可能
var result = 0;
Pot.forEach([1, 2, 3], function(val) {
result += val;
});
debug(result); // 6
// 速度指定する場合
result = 0;
Pot.forEach.slow([1, 2, 3], function(val) {
result += val;
});
debug(result); // 6
result = 0;
Pot.repeat.limp(5, function(i) {
result += i;
debug(i); // ゆっくり表示される
});
// 同期処理のため結果が取得できる
debug(result); // 10
}