when script error, throw an error in advance instead of waitting the callback in timer ``` script = document.createElement('script'); script.src = url; // add onerror script.onerror = function() { cleanup(); if (fn) fn(new Error('Failure')); } target.parentNode.insertBefore(script, target); ```