学习JavaScript承诺只需要一些方向

时间:2015-10-26 02:55:01

标签: 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 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);
});

1 个答案:

答案 0 :(得分:0)

你有一个错字。

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')));

});