UNPKG

tav-ui

Version:
41 lines (38 loc) 956 B
import { ref, onMounted, onUnmounted } from 'vue'; function useScript(opts) { const isLoading = ref(false); const error = ref(false); const success = ref(false); let script; const promise = new Promise((resolve, reject) => { onMounted(() => { script = document.createElement("script"); script.type = "text/javascript"; script.onload = function() { isLoading.value = false; success.value = true; error.value = false; resolve(""); }; script.onerror = function(err) { isLoading.value = false; success.value = false; error.value = true; reject(err); }; script.src = opts.src; document.head.appendChild(script); }); }); onUnmounted(() => { script && script.remove(); }); return { isLoading, error, success, toPromise: () => promise }; } export { useScript }; //# sourceMappingURL=useScript2.mjs.map