ICallbackEventHandler запрашивает каждую 1 секунду
-
23-10-2019 - |
Вопрос
У меня есть код, который запускает ICallbackEventHandler каждые 1000 мс.Когда я запускаю этот код локально, данные реагируют быстро, примерно раз в 1 секунду.
Затем я загрузил это на сервер, и иногда данные отвечают 1 секунду, иногда 3 секунды, а иногда и 6-7 секунд, почему это?
Ниже приведен фрагмент кода, который выполняет этот рекурсивный вызов сервера каждую секунду:
function MessageServerResponse(param, context) {
if (param.length > 0) {
var splitParam = param.split("~");
var id = splitParam[0];
var data= splitParam[1];
$('#' + id).prepend(data);
}
setTimeout("MessageServerRequest();", 1000);
}
Решение
если вы единственный человек, который использует сервер, ответ всегда будет 1 секунда.и вы не можете ожидать, что клиент внимательно ответит на ваш сценарий.
1 мой трюк, чтобы сделать это быстрее
- если вы используете обычную обратную передачу <form>, поместите в форму как можно меньше.больше HTML в форме означает больше передачи данных
- если вы используете панель обновлений, просто сделайте ее маленькой или создайте специальную панель обновлений для повышения производительности.
- для jquery я бы предложил $.ajax({cache:true})
Не связан с StackOverflow