Я пытаюсь понять цикл событий js. Это мой JS код:Понимание цикла событий JS
var start = new Date().getTime();
var url = "/WebForm1.aspx/Test1";
$.ajax({
type: "POST",
url: url,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
console.log('Test1, elapsed: ' + (new Date().getTime() - start) + 'ms');
},
});
url = "/WebForm1.aspx/Test2";
$.ajax({
type: "POST",
url: url,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
console.log('Test2, elapsed: ' + (new Date().getTime() - start) + 'ms');
},
});
url = "/WebForm1.aspx/Test3";
$.ajax({
type: "POST",
url: url,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
console.log('Test3, elapsed: ' + (new Date().getTime() - start) + 'ms');
},
});
Это мой сервер код сторона:
[WebMethod]
public static void Test1()
{
System.Threading.Thread.Sleep(1500);
}
[WebMethod]
public static void Test2()
{
System.Threading.Thread.Sleep(2000);
}
[WebMethod]
public static void Test3()
{
System.Threading.Thread.Sleep(3000);
}
Теперь результат:
Test1, elapsed: 1542ms
Test3, elapsed: 4578ms
Test2, elapsed: 6636ms
Теперь то, что я не понимаю, почему оленья кожа они все сработают вместе? это потому, что серверная сторона может обрабатывать только один запрос за раз, или он вращается с циклом событий js?
выглядит как серверная сторона однопоточная для меня –
что вы имеете в виду «похоже» :) это однопоточное или нет – omriman12
Ajax-вызовы должны быстро срабатывать последовательно, но если сервер блокирует и обрабатывает их каждый из них должен ждать своей очереди. Это серверная сторона. –