学习JavaScript只是需要一些指导
我正在学习JavaScript承诺,我只是想知道下面的代码是否正确。基本上很简单。加载脚本文件。如果无法加载该文件,则会出现错误学习JavaScript只是需要一些指导,javascript,es6-promise,Javascript,Es6 Promise,我正在学习JavaScript承诺,我只是想知道下面的代码是否正确。基本上很简单。加载脚本文件。如果无法加载该文件,则会出现错误 var promise = new Promise((resolve, reject) => { var fh = document.createElement('script'); fh.type = 'text/javascript'; fh.async = true; fh.src = 'script.js'; /*Insert j
var promise = new Promise((resolve, reject) => {
var fh = document.createElement('script');
fh.type = 'text/javascript';
fh.async = true;
fh.src = 'script.js';
/*Insert javascript at top of dom */
fhs.parentNode.insertBefore(fh, fhs);
/*Success Response */
fh.addEventListener('load', function (event) {
resolve('Loaded');
}, false);
/*Error Response */
fh.addEventListener("error", function (event) {
reject(Error('Error loading file'));
}, false);
});
你打错了
fhs.parentNode.insertBefore(fh, fhs);
未定义fhs。它应该从哪里来?控制台会为您捕获此错误。相反,您可以将脚本元素附加到主体中
var promise = new Promise((resolve, reject) => {
var fh = document.createElement('script');
fh.async = true;
fh.src = 'script.js';
/*Insert javascript at bottom of dom */
document.body.appendChild(fh);
/*Success Response */
fh.addEventListener('load', () => resolve('Loaded'));
/*Error Response */
fh.addEventListener("error", () => reject(Error('Error loading file')));
});
我不知道DOM的事件侦听器是如何工作的,但基本前提看起来是正确的。但是这个问题不适合这样。请使用codereview.stackexchange.com。在将节点添加到DOM之前,我会添加事件侦听器-可能不会有任何不同。。。我投票结束这个问题,因为它属于codereview.stackexchange.com。您是否运行了这个代码并测试了它?这将告诉你它是否正确。如果您没有明确、具体的问题,我们无法回答您的问题。您收到的实际错误消息是什么?