Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 1
Регистрация: 05.06.2014
Сообщений: 13

Ожидание по времени, ошибки

13.06.2014, 22:00. Показов 3144. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Не уверен, что пишу туда, т.к. это далеко не
web, но все же...

Есть скрипт:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function buildFrame(x, y, z, side) {
  
  var size = 10;
  
  switch(side) {
  case 3: x-=size/2; z-=size; break;
  case 5: x-=size; z-=size/2; break;
  case 2: x-=size/2; z+=1; break;
  case 4: x+=1; z-=size/2; break;
  case 1: clientMessage("Nope"); return;
  }
 
clientMessage("Сторона " + side+ x + " " + y + " " + z);
  for(by = y; by <= y+4; by++) {
    for(bx = x; bx < x+size; bx++) {
      for(bz = z; bz < z+size; bz++) {
      setTimeout(function(x, y, z, size, bx, by, bz) {
      setTile(bx, by, bz, 0);
        if(by == y || by == y+4) {
          if(bx == x || bz == z || bx == x+size-1 || bz == z+size-1) {
            setTile(bx, by, bz, 189);
          }
        } else {
          if(bx == x && bz == z || bx == x+size-1 && bz == z+size-1
          || bx == x+size-1 && bz == z || bx == x && bz == z+size-1) {
            setTile(bx, by, bz, 189);
          }
        }
        }, 1000, [x, y, z, size, bx, by, bz]);
      }
    }
  }
}
Получаю ошибку:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Error occurred in script: Qварик.js
org.mozilla.javascript.EcmaError: ReferenceError: "setTimeout" is not defined. (Qварик.js#74)
    at org.mozilla.javascript.ScriptRuntime.constructError(Unknown Source)
    at org.mozilla.javascript.ScriptRuntime.constructError(Unknown Source)
    at org.mozilla.javascript.ScriptRuntime.notFoundError(Unknown Source)
    at org.mozilla.javascript.ScriptRuntime.nameOrFunction(Unknown Source)
    at org.mozilla.javascript.ScriptRuntime.getNameFunctionAndThis(Unknown Source)
    at org.mozilla.javascript.Interpreter.interpretLoop(Unknown Source)
    at script.buildFrame(Qварик.js:74)
    at script.useItem(Qварик.js:23)
    at org.mozilla.javascript.Interpreter.interpret(Unknown Source)
    at org.mozilla.javascript.InterpretedFunction.call(Unknown Source)
    at org.mozilla.javascript.ContextFactory.doTopCall(Unknown Source)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(Unknown Source)
    at org.mozilla.javascript.InterpretedFunction.call(Unknown Source)
    at net.zhuoweizhang.mcpelauncher.ScriptManager.callScriptMethod(ScriptManager.java:235)
    at net.zhuoweizhang.mcpelauncher.ScriptManager.useItemOnCallback(ScriptManager.java:246)
    at dalvik.system.NativeStart.run(Native Method)
Скорее всего ошибка где-то в синтаксисе и она глупа, но найти я её не могу, прошу помощи.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.06.2014, 22:00
Ответы с готовыми решениями:

Ожидание определённого времени
Подскажите, пожалуйста, как мне замутить ожидание определённого времени. У меня программка должна выполнить определённое действие в...

Ожидание определенного времени
Есть программа(кода нет ибо задумка пока), которая должна в начале каждого часа и посередине брать логи в папке и сжимать в zip. Все...

Ожидание большого периода времени
У меня в программе происходит ситуация, когда потоку нужно подождать минуту-две, обрабатывая при этом возможные приходящие сигналы. Это...

14
 Аватар для massEffect
80 / 80 / 53
Регистрация: 22.03.2013
Сообщений: 273
19.06.2014, 13:23
Цитата Сообщение от Try4W Посмотреть сообщение
т.к. это далеко не web, но все же...
а что это тогда такое?
0
0 / 0 / 1
Регистрация: 05.06.2014
Сообщений: 13
19.06.2014, 14:14  [ТС]
а что это тогда такое?
Скрипт, используется в игре.
0
 Аватар для massEffect
80 / 80 / 53
Регистрация: 22.03.2013
Сообщений: 273
19.06.2014, 14:29
Цитата Сообщение от Try4W Посмотреть сообщение
org.mozilla.javascript.EcmaError: ReferenceError: "setTimeout" is not defined. (Qварик.js#74)
про какую строку идет речь?

почему вы думаете, что ошибка в приведенном вами куске кода?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
19.06.2014, 14:34
строка #100 >> }, 1000, [x, y, z, size, bx, by, bz]);

третьим аргументом в методе setTimeout () может быть язык (JScript. VBScript или JavaScript)
а у вас какой-то массив
0
0 / 0 / 1
Регистрация: 05.06.2014
Сообщений: 13
19.06.2014, 14:39  [ТС]
Ошибка связанна с setTimeout(...);
Без него все работает.

Добавлено через 4 минуты
Я читал, что необходимые в функции-таймауте переменные нужно передавать в массиве третьим элементом.

Можно пример setTimeout'а с анонимной функцией, которая кушает не глобальные переменные?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
19.06.2014, 14:44
повторяю для непонятливых:
синтаксис метода iTimerID = window.setTimeout (vCode, iMilliSeconds, sLanguage)

vCode у вас - функция (строки ##17-29), что, видимо (я не смотрел), правильно
iMilliSeconds у вас 1000 (строка #29) -- и это правильно
а вот вместо допустимых в sLanguage значений - у вас какой-то непонятный массив, что неправильно

Цитата Сообщение от Try4W Посмотреть сообщение
Я читал, что необходимые в функции-таймауте переменные нужно передавать в массиве третьим элементом.
это вы чей-то бред читали
0
 Аватар для massEffect
80 / 80 / 53
Регистрация: 22.03.2013
Сообщений: 273
19.06.2014, 14:44
Цитата Сообщение от kalabuni Посмотреть сообщение
строка #100 >> }, 1000, [x, y, z, size, bx, by, bz]);
третьим аргументом в методе setTimeout () может быть язык (JScript. VBScript или JavaScript)
а у вас какой-то массив
то есть сделайте так строка #100 >> }, 1000, x, y, z, size, bx, by, bz);
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
19.06.2014, 14:49
massEffect, это вы так шутите?
0
 Аватар для massEffect
80 / 80 / 53
Регистрация: 22.03.2013
Сообщений: 273
19.06.2014, 14:59
Я хотел сказать что:

setTimeout

Синтаксис:
var timerId = setTimeout(func/code, delay[, arg1, arg2...])

Параметры:

func/code
Функция или строка кода для исполнения.
Строка поддерживается для совместимости, использовать её не рекомендуется.
delay
Задержка в милисекундах, 1000 милисекунд равны 1 секунде.
arg1, arg2…
Аргументы, которые нужно передать функции. Не поддерживаются в IE9-.
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
19.06.2014, 15:08
век живи, век учись (с)
спасибо, не знал -- https://developer.mozilla.org/... setTimeout
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
19.06.2014, 15:27
Try4W, Unity?

Скажите в какой среде выполняется ваш код. Не браузер?

Добавлено через 17 минут
JavaScript
1
setTimeout(function(a,b,c){ console.log(a + b + c); },1000, 1, 2, 3);
Квадратные скобки это не массив, а аргументы которые могут не использоваться.
0
0 / 0 / 1
Регистрация: 05.06.2014
Сообщений: 13
19.06.2014, 17:23  [ТС]
massEffect, если понимать буквально, то так:
}, 1000[, x, y, z, size, bx, by, bz]);
Но это не верно.

Добавлено через 9 минут
Пишу и выполняют на телефоне, в игрушке. Нет, не юнити.

Добавлено через 12 минут
Так я пытался ранее:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
      var bt = setTimeout(function (x, y, z, size, bx, by, bz) {
      setTile(bx, by, bz, 0);
        if(by == y || by == y+4) {
          if(bx == x || bz == z || bx == x+size-1 || bz == z+size-1) {
            setTile(bx, by, bz, 189);
          }
        } else {
          if(bx == x && bz == z || bx == x+size-1 && bz == z+size-1
          || bx == x+size-1 && bz == z || bx == x && bz == z+size-1) {
            setTile(bx, by, bz, 189);
          }
        }
        }, 1000, x, y, z, size, bx, by, bz);
Ошибка:
Error occurred in script: Qварик.js
org.mozilla.javascript.EcmaError: ReferenceError: "setTimeout" is not defined. (Qварик.js#71)
at org.mozilla.javascript.ScriptRuntime.con structError(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.con structError(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.not FoundError(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.nam eOrFunction(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.get NameFunctionAndThis(Unknown Source)
at org.mozilla.javascript.Interpreter.inter pretLoop(Unknown Source)
at script.buildFrame(Qварик.js:71)
at script.useItem(Qварик.js:23)
at org.mozilla.javascript.Interpreter.inter pret(Unknown Source)
at org.mozilla.javascript.InterpretedFuncti on.call(Unknown Source)
at org.mozilla.javascript.ContextFactory.do TopCall(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.doT opCall(Unknown Source)
at org.mozilla.javascript.InterpretedFuncti on.call(Unknown Source)
at net.zhuoweizhang.mcpelauncher.ScriptMana ger.callScriptMethod(ScriptManager.java: 235)
at net.zhuoweizhang.mcpelauncher.ScriptMana ger.useItemOnCallback(ScriptManager.java :246)
at dalvik.system.NativeStart.run(Native Method)
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,205
Записей в блоге: 24
20.06.2014, 02:32
Судя по логу ошибок, среда исполнения вообще не знает, что такое setTimeout.
Вы уже до этого работали с тайм-аутом? Что-то простенькое можете продемонстрировать, например,
JavaScript
1
2
3
4
setTimeout(function(){
    concole.log('setTimeout works');
    // или что-то другое здесь, что можно пронаблюдать
},1000); // без параметров
Если это у Вас работает, то проблема в передаче аргументов. Иначе проблема в среде.
В первом случае, к слову, можно решить проблему без курения документации, по-нубски, сделав замыкание функции с её аргументом.
1
0 / 0 / 1
Регистрация: 05.06.2014
Сообщений: 13
07.12.2014, 21:44  [ТС]
Да, спасибо. Спустя некоторое время я почитал касательно стандартного функционала JS и понял, что тамошний интерпретатор действительно ничего не знал о таймерах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2014, 21:44
Помогаю со студенческими работами здесь

Ожидание ввода в течении заданного времени
Суть задачи:Если пользователь в течении 30 сек не вводит ничего программа выполняет одно действие, если же вводит другое. В потоке мейна...

Ожидание ввода в течение некоторого интервала времени
int main() { char ch; ch='$'; /* в этом месте нужно написать фрагмент кода а именно, надо чтобы программа ожидала ввода...

Вычислить математическое ожидание и дисперсию времени, затраченного на наладку
4. Осуществляется наладка сложной электронной системы управления, которая проводится в несколько попыток. Каждая попытка наладить СУ...

Определить математическое ожидание и дисперсию ошибки
Есть два прибора ( пеленгаторы). Каждый из них измеряет под каким углом по отношению к нему находится объект. У нас есть координаты...

Ошибки времени выполнения
try { Form7-&gt;Table1-&gt;Insert(); Form7-&gt;Table1-&gt;Fields-&gt;FieldByName(&quot;q&quot;)-&gt;AsString = Edit1-&gt;Text; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru