I am Learning JavaScript Promises and I just wanted to know if the following code is correct. Basically it's very simple. Loads a script file. If the file can't be loaded there there is a error.

我正在学习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 个解决方案

#1


0

You have a typo.

你有一个错字。

fhs.parentNode.insertBefore(fh, fhs); 

fhs is not defined. Where is it supposed to come from? The console would have caught this error for you. Instead, you can append the script element to the body.

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

});

更多相关文章

  1. 在单选按钮上选中/取消选中,加载/隐藏部分视图
  2. 如何使用django从静态文件加载静态文件?
  3. jQuery在5秒后自动加载div
  4. JQuery Image滑块从json加载图片
  5. AngularJS我在哪里可以访问加载的控制器的范围?
  6. 选择jquery - 列表未以模态形式加载
  7. 浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本
  8. 像C#一样,去写Javascript----记我的脚本库RockSniper.Scripts.js
  9. Angular 2快速入门 - 我的应用程序组件未加载

随机推荐

  1. 移植soundtouch到android 通过JNI来调用
  2. Android AsyncTask 异步任务操作
  3. Android Bundle类
  4. Android视频播放: VideoView播放视频(三)
  5. Android权限大全
  6. Android studio maven pom.xml
  7. android 获取mac地址
  8. Android单元测试时如何使用log查看输出结
  9. Android(安卓)开发(六)C2DM 云端推送
  10. Android 字体颜色渐变效果 Span实现