react-native - 异步/等待函数返回 _40 : 0, _65 : 0, _55 : n

我在尝试获取图像的原始大小时从 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()?

python - 如何从数据集中创建锚定正负对来训练模型?

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 条件

python - 用dask阅读时如何跳过坏行?

python - 设置 TensorBoard 以在 Google Colab 中为 TensorF

javascript - 使用 Vue I18n 和大内容文本 html 的最佳方式