В методе схемы JS требуется сделать паузу.
Какие у вас используются методы?
Я пока нашёл вот такой подход.
wait: function (ms) {
var start = new Date().getTime();
var end = start;
while (end < start + ms) {
end = new Date().getTime();
}
},Вызов метода: this.wait(1000);
Нравится
3 комментария
28 января 2021 11:44
Дамиан, ну так точно не стоит, это ведь будет крутиться цикл всё время до нужного момента и занимать всё ядро процессора.
В JS есть готовые функции таймера, куда параметром передают обработчик. См. статью.
Пример использования:
window.setTimeout(function, 1000);
function myFunction() {
alert('Hello');
}Аналогично и с регулярным запуском, вместо setTimeout написать setInterval.
А тут пример его использования в Creatio.
1 февраля 2021 09:33
Спасибо за пример. Но пока не разобрался как быть с методом с параметрами.
// Вызовы.
setTimeout(this.foo1, 1000);
setTimeout(this.foo2("some"), 1000);
// Методы.
foo1() {
console.info("foo1"); // есть ожидание
},
foo2(args) {
console.info("foo2 with args"); // нет ожидания
},
1 февраля 2021 10:04
Разобрался. Вот так будет вызов с аргументами и ожиданием.
let dt = new Date();
console.info("start: " + dt.getMinutes() + "." + dt.getSeconds() + "." + dt.getMilliseconds() + ".");
setTimeout(this.foo1, 1000);
setTimeout(this.foo.bind(this, "some"), 1000);
foo1() {
console.info("foo1");
let dt = new Date();
console.info("foo1: " + dt.getMinutes() + "." + dt.getSeconds() + "." + dt.getMilliseconds() + ".");
},
foo2(args) {
console.info("foo2(" + args + ")");
let dt = new Date();
console.info("foo2: " + dt.getMinutes() + "." + dt.getSeconds() + "." + dt.getMilliseconds() + ".");
},
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать