2015-06-25 3 views
-1

Возможно ли повторить функцию после ее завершения. Для примера: У меня есть Datatable со следующими входными данными:Функция повтора после завершения работы с Javascript?

Name | Birthday | Checked 
Test1 20.3.2000 Null 
Test1 20.3.2001 Null 
Test1 20.3.2002 Null 

Теперь я хочу, чтобы функция Возьмите первую линию, где Checked == Null Напишите что-нибудь в другой таблице и маркировать Checked = true После того, как первый называют это будет быть

Name | Birthday | Checked 
Test1 20.3.2000 True 
Test1 20.3.2001 Null 
Test1 20.3.2002 Null 

После второго вызова

Name | Birthday | Checked 
Test1 20.3.2000 True 
Test1 20.3.2001 True 
Test1 20.3.2002 Null 

После третьего вызова

Name | Birthday | Checked 
Test1 20.3.2000 True 
Test1 20.3.2001 True 
Test1 20.3.2002 True 

данных в таблице можно манипулировать в то время как вызов метода так count(*) on Checked, пока не работает в качестве линии может быть добавлен между ними.

Основной вопрос ist. Как я могу вызвать функцию повторно, а не с заданным интервалом, но после завершения предыдущего вызова?

+0

Вы пробовали рекурсию? –

+0

_ «Данные в таблице могут обрабатываться во время вызова методом« _ JavaScript по сути однопоточный », если это происходит в одном месте синхронно, вы можете гарантировать, что ничто другое не трогает ваши данные, пока вы находитесь. –

+0

Спасибо за ваши комментарии Роб и Джеймс. Я не уверен, что лучше попробовать рекурсию или функцию, которая повторяется очень быстро. Важным для меня был вопрос с одним потоком, поэтому я знаю, что сразу два вызова на той же линии, где это невозможно. – Silve2611

ответ

0

После кода

setTimeout(function, 1000); 

работает в моем случае. Мне не нужно ждать завершения функции, поскольку другая функция не может получить доступ к db до ее завершения.

Thx для ввода.

Смежные вопросы