setinterval không hoạt động khi tab bị freeze
 
 
                    Anh Tran
                 
                    Đã trả lời thg 6 24, 2023 3:17 SA
                
// example code from chatGPT
function openPaymentWindow() {
  return new Promise((resolve, reject) => {
    const paymentWindow = window.open("https://example.com/payment");
    // Lắng nghe sự kiện khi trang thanh toán redirect về
    window.addEventListener("message", (event) => {
      if (event.origin === "https://example.com" && event.data === "payment_success") {
        resolve();
      }
    });
    // Xử lý trường hợp trang thanh toán không redirect về sau một khoảng thời gian nhất định
    setTimeout(() => {
      reject(new Error("Timeout: Payment window did not redirect back."));
    }, 60000); // Thời gian chờ tối đa là 60 giây
  });
}
async function performPayment() {
  try {
    await openPaymentWindow();
    console.log("Payment successful!");
    // Tiếp tục xử lý sau khi thanh toán thành công
  } catch (error) {
    console.error("Payment error:", error);
    // Xử lý lỗi khi thanh toán thất bại hoặc timeout
  }
}
performPayment();
 
        0
     
Tổ chức
Chưa có tổ chức nào.
 
 

