如何在jQuery中设置睡眠时间?

时间:2017-03-02 08:52:14

标签: jquery

我需要在window.location.href运行之前添加2秒睡眠。

例如:

$.ajax({
    url:"price",
    method:"POST",
    }).done(function (data) {
        var origin = window.location.origin;
        // I need add 2 sec sleep
        window.location.href = origin + "/flight/ticket/" + data;
    }).error(function (xhr, opt, error) {
        $('#trustCaptcha').show();
        $('#getTicket').hide();
    }
);

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用setTimeout()方法。

$.ajax({
  url: "price",
  method: "POST",
}).done(function(data) {
  var origin = window.location.origin;
  // I need add 2 sec sleep
  setTimeout(function() {
    window.location.href = origin + "/flight/ticket/" + data;
  }, 2000);
}).error(function(xhr, opt, error) {
  $('#trustCaptcha').show();
  $('#getTicket').hide();
});

您可以详细了解此方法 here

答案 1 :(得分:1)

您可以使用setTimeout()来延迟逻辑执行。试试这个:

$.ajax({
  url:"price",
  method:"POST",
}).done(function (data) {
  var origin = window.location.origin;
  setTimeout(function() {
    window.location.href = origin + "/flight/ticket/" + data;
  }, 2000); // 2000ms = 2 seconds
}).error(function (xhr, opt, error) {
  $('#trustCaptcha').show();
  $('#getTicket').hide();
});