promise应用问题

发布于 2022-09-04 22:04:42 字数 411 浏览 17 评论 0

function loadImageAsync(url) {
  return new Promise(function(resolve, reject) {
    var image = new Image();

    image.onload = function() {
      resolve(image);
    };

    image.onerror = function() {
      reject(new Error('Could not load image at ' + url));
    };

    image.src = url;
  });
}

想知道的是这个方法怎么用呢?我输入了URL,然后再then里获取对象image?可是我测了,没有反应!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

失眠症患者 2022-09-11 22:04:42
loadImageAsync('./img/news-1.png').then((img) => {
    document.getElementById("app").appendChild(img)
    console.log(img)
})

这么调用,在then的参数就是resolve的参数, 也就是image对象,把这个对象append到div上就可以实现功能

这是最终结果

clipboard.png

这是console

clipboard.png

假扮的天使 2022-09-11 22:04:42
loadImageAsync(url).then(function(img) { doSomething(); }).catch(function(err) { handleError(err); });
很快妥协 2022-09-11 22:04:42

可以的 ,我在浏览器里试过了:

function loadImageAsync(url) {
  return new Promise(function(resolve, reject) {
    var image = new Image();

    image.onload = function() {
      resolve(image);
    };

    image.onerror = function() {
      reject(new Error('Could not load image at ' + url));
    };

    image.src = url;
  });
}

loadImageAsync('https://www.baidu.com/img/bd_logo1.png').then(function(){alert("jiazai wancheng")})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文