gpt4 book ai didi

javascript - JS 异步调用 - 我的回调方法无法检查图像尺寸

转载 作者:行者123 更新时间:2023-11-28 00:12:37 25 4
gpt4 key购买 nike

我这里有一个名为 checkURL 的 bool 函数,用于检查图片是否具有 100 x 100 像素。如果是,则返回 true。函数内有一个异步调用来检查图像的大小。

function checkURL(url, callback) {

var valid;
var img = new Image();
img.src = url;

img.onload = function (callback) {

valid = callback(img.width, img.height);

};
console.log(valid);
return valid;
}


function nextStep(w, h) {
if (w == 100 && h == 100) {
return true;
} else {
return false;
}
}

var pic_valid = checkURL(a_url, nextStep);

我收到错误:

callback is not defined

在 checkURL 函数中。我还担心 checkURL 中有效的变量最终会变得无效。

额外编辑:如果我添加 console.log(valid);在返回有效之前我得到了未定义。这是预期的吗?

最佳答案

您可以在此处定义回调:

function checkURL(url, callback) {

然后你在这里重新定义它:

img.onload = function(callback){

...它掩盖了您实际为其赋值的变量。

不要掩盖它:

img.onload = function(){

关于javascript - JS 异步调用 - 我的回调方法无法检查图像尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30760465/

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