我在尝试获取图像的原始大小时从 Async/Await 函数返回了这个 { _40: 0, _65: 0, _55: null, _72: null }
。引用https://www.npmjs.com/package/react-native-image-size函数的使用。
这是我的代码。
getImgSize = async (url) => {
const {width, height} = await ImageSize.getSize(url);
const imgSize = { width: width, height: height }
console.log(imgSize) // result is { width: 950, height: 634 }
return imgSize;
}
function getImage(){
var imgSize = getImgSize("https://img.purch.com/w/660/aHR0cDovL3d3dy5saXZlc2NpZW5jZS5jb20vaW1hZ2VzL2kvMDAwLzEwNC84MzAvb3JpZ2luYWwvc2h1dHRlcnN0b2NrXzExMTA1NzIxNTkuanBn");
console.log(imgSize) // result after returned { _40: 0, _65: 0, _55: null, _72: null }
}
我希望结果类似于 { width: 950, height: 634 }
但我提到的结果却被返回了。
最佳答案
您正在调用一个 async
函数,这意味着它是一个 promise 。你必须等待结果。
所以要么使用await
getImage = async () => {
var imgSize = await getImgSize("https://img.purch.com/w/660/aHR0cDovL3d3dy5saXZlc2NpZW5jZS5jb20vaW1hZ2VzL2kvMDAwLzEwNC84MzAvb3JpZ2luYWwvc2h1dHRlcnN0b2NrXzExMTA1NzIxNTkuanBn");
console.log(imgSize);
}
或者这样处理
getImage = () => {
getImgSize('https://img.purch.com/w/660/aHR0cDovL3d3dy5saXZlc2NpZW5jZS5jb20vaW1hZ2VzL2kvMDAwLzEwNC84MzAvb3JpZ2luYWwvc2h1dHRlcnN0b2NrXzExMTA1NzIxNTkuanBn').then((imgSize) => {
console.log(imgSize);
});
}
关于react-native - 异步/等待函数返回 _40 : 0, _65 : 0, _55 : null, _72: null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57410321/
相关文章:
python - 如何将文件传递给 unittest.mock.mock_open()?
apache-spark - 将数据从 Spark Structured Streaming 加载到
python - Pygame display init on headless Raspberry
ruby - Rails 5 使用 Devise 和 acts_as_tenant
pandas - future 警告 : Passing datetime64-dtype data
msbuild - 旧项目格式忽略 PackageReference 条件