2017-01-19 10 views
0

したがって、React Nativeが提供するImage.getSizeという関数を使用しようとしました。しかし、関数の外で高さと幅を使用しようとすると、それはゼロに見えます。ここ は私のコードです:React NativeでURIから画像の高さと幅を取得するには?

var theHeight = 0; 
Image.getSize(url,(height, width)=>{ 
theHeight = height; 
}) 

console.log("test get height "+theHeight); 

、結果は私が間違って何をしました

テストを受ける高さ0

でしょうか?

答えて

1

コードには2つの問題があります。 1つは、Image.getSizeがそのコールバックを非同期に呼び出すことです。コールバック内のイメージサイズに依存するコードを配置する必要があります。

2番目の問題は、成功コールバックの引数が(width, height)であり、それ以外の方法ではありません。

あなたは書く必要があります。

Image.getSize(url, (width, height) => { 
    console.log(`The image dimensions are ${width}x${height}`); 
}, (error) => { 
    console.error(`Couldn't get the image size: ${error.message}`); 
}); 
+0

私がいることを知っているが、どのように私は成功コールバック外幅と高さを使用することができますか? –

+0

コールバックが完了した後にのみそれらの変数にアクセスする限り、コールバック外の変数に幅と高さを割り当てることができます。 – ide

+0

あなたのコードを試してみましたが、私は "console.log(" testは高さ "+ theHeightを取得します);"コールバックが完了する前に呼び出されます。コールバックが完了した後、varをどのように更新できますか? –

関連する問題