Оболочка / модуль для опроса JavaScript. Запрос на анализ качества кода

Я написал небольшую функцию JavaScript, которая будет выполнять Ajax-запрос каждые x секунд.

Я надеялся, что некоторые из вас могли бы взглянуть на это и дать мне какие-либо указания на избыточный код или плохую практику.

Идея функции заключается в следующем:
1) Разрешить инициирование опроса
2) После запуска опрашивайте один раз каждые x секунд и выполните запрос AJAX.
3) Прекратить опрос после запуска disablePolling ().

Вот код:

requester.js

function Request() {

this.poll = false;

this.activatePoll = function () {
this.poll = true;
this.runPoll();
};

this.disablePoll = function () {
this.poll = false;
};

this.runPoll = function () {
var self = this;
var poll = setTimeout(function () {
$.ajax({
url: './request.php',
success: function (response) {
console.log(response);
},
dataType: "json",
complete: function () {
if (self.poll == false) {
clearTimeout(poll);
} else {
self.runPoll();
}
}
})
}, 1000);
};
}

Для тех, кто хочет запустить код:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Requester</title>
</head>
<body>
<h1>Requester</h1>
<div id="requester">
<input type="button" onclick="$request.test();" value="test">
<input type="button" onclick="$request.activatePoll();" value="poll">
<input type="button" onclick="$request.disablePoll();" value="turn off poll">
</div>
</body>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="js/request.js"></script>
<script>
$(document).ready(function () {
$request = new Request();
});
</script>
</html>

request.php

<?php
echo json_encode($time());
?>

Спасибо.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]