gpt4 book ai didi

javascript - 使用 async/await 而不是 Promise 来处理在 Javascript 中加载图像

转载 作者:行者123 更新时间:2023-11-28 03:20:02 25 4
gpt4 key购买 nike

我编写了一个基于 promise 的加载图像函数。

function loadImage() {
const img = new Image();


return new Promise((resolve, reject) => {
img.addEventListener("load", () => {
resolve();
});

img.addEventListener("error", () => {
reject();
});

img.src = 'assets/myImg.jpg';
});
}

loadImage.then(
() => console.log('image loaded'),
() => console.error('image did not load')
);

我想使用 async/await 对其进行转换但我实际上正在努力做到这一点。知道如何实现吗?

最佳答案

您可以等待您的loadImage函数,但是 new Image()对象不使用 promise ,它使用您用 Promise 包装的事件。

async 内部功能,您可以await你的loadImage函数,如下所示:

async function loadImage() {
const img = new Image();

return new Promise((resolve, reject) => {
img.addEventListener("load", () => {
resolve();
});

img.addEventListener("error", () => {
reject();
});

img.src = 'assets/myImg.jpg';
});
}

async function doSomething() {
try {
await loadImage();
console.log("image loaded");
} catch(e) {
console.error("image did not load");
}
}

关于javascript - 使用 async/await 而不是 Promise 来处理在 Javascript 中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59246932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com