자바스크립트 로딩 상태 확인

When working with JavaScript, it is often necessary to ensure that certain resources or dependencies are loaded before executing certain actions or functions. In this blog post, we will explore different methods to check the loading status of JavaScript resources.

Method 1: Using the document.readyState property

The document.readyState property indicates the loading state of the current document. It can have one of the following values:

To check the loading status using document.readyState, you can use the following code:

if (document.readyState === "complete") {
   // Document is fully loaded
} else {
   // Document is still loading
}

You can place this code in your JavaScript file or within a script tag in your HTML file.

Method 2: Using the onload event listener

Another way to check the loading status of JavaScript resources is by using the onload event listener. This event is triggered when a resource, such as an image or a script, has finished loading.

To check if a script has finished loading, you can attach an onload event listener to the script element:

const script = document.createElement("script");
script.onload = function() {
   // Script has finished loading
};
script.src = "path/to/script.js";
document.head.appendChild(script);

In this code snippet, the onload event listener is assigned to the onload property of the script element. Once the script has finished loading, the callback function within the onload event listener will be executed.

Method 3: Using a Promise

Promises provide a clean and elegant way to manage asynchronous operations, including loading scripts. By wrapping the script loading process in a Promise, we can easily check its loading status.

Here’s an example of using a Promise to check if a script has finished loading:

function loadScript(src) {
  return new Promise((resolve, reject) => {
    const script = document.createElement("script");
    script.onload = resolve;
    script.onerror = reject;
    script.src = src;
    document.head.appendChild(script);
  });
}

loadScript("path/to/script.js")
  .then(() => {
    // Script has finished loading
  })
  .catch(() => {
    // Error occurred while loading the script
  });

In this code, we define a loadScript function that returns a Promise. The script loading process is encapsulated within this function. Once the script has finished loading, the resolve callback is triggered. If an error occurs during the loading process, the reject callback is triggered.

By using the then and catch methods, we can handle the success and error scenarios respectively.

These are just a few methods to check the loading status of JavaScript resources. Depending on your specific use case, you can choose the method that best fits your requirements.

Remember, ensuring resources are loaded before executing certain actions is crucial for a seamless and error-free JavaScript experience.