Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
学习JavaScript只是需要一些指导_Javascript_Es6 Promise - Fatal编程技术网

学习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

我正在学习JavaScript承诺,我只是想知道下面的代码是否正确。基本上很简单。加载脚本文件。如果无法加载该文件,则会出现错误

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。您是否运行了这个代码并测试了它?这将告诉你它是否正确。如果您没有明确、具体的问题,我们无法回答您的问题。您收到的实际错误消息是什么?