2017-12-24 5 views
3

私はreact-native-fsモジュールを使用していますが、私のアプリケーションはフリーズしているようです。私は私のリアクトネイティブのいずれかの方法で次のコードを持っている:React-Nativeメソッドがハングしてエラーをスローしません

console.log("One") 
await RNFS.downloadFile({ 
    fromUrl: 'http://example.com/data/blah.zip', 
    toFile: RNFS.DocumentDirectoryPath + "/userdata/blah.zip", 
}).promise 
console.log("Two") 

「ワン」は、コンソールにエコーされますが、「二つは、」エコーれることは決してありません。スローされたエラーはありません。 URLは実際に存在し、RNFS.DocumentDirectoryPath +/userdataディレクトリは存在しません。

私は間違っていますか?なぜエラーはスローされないのですか?なぜこの時点でぶら下がっているのですか?

更新

それだけで時々起こるようですので、残念ながら、それは診断が以下のテストを生成することは困難です。私がしなければならなかったことは、これが起きたときに反応ネイティブのコマンドプロンプトノードウィンドウをシャットダウンして、react-native run-androidを再実行する必要があることです。私がそれをしたら、それは完全に進行する。

+0

約束の後に.then節が必要ですか? RNFS.downloadFile({fromUrl:url、toFile:path})。promise.then(res => { console.log( '1.5') }); – Dan

+0

@ダン、私は代わりに待っています。しかし、私が.thenの代わりにそれを試すとしても、それはまだ同じ場所にぶら下がっています。 – kojow7

+0

Hmmm、何らかの理由でこのエラーは間欠的であるようです。時々それは働くように思われ、それ以外のときはうまくいかないようです。 – kojow7

答えて

0

私はそれが黙っていると思われるかもしれません。ブロック全体をtry/catchでラップしてみてください。

try { 
    await RNFS.downloadFile({ 
    fromUrl: 'http://example.com/data/blah.zip', 
    toFile: RNFS.DocumentDirectoryPath + "/userdata/blah.zip", 
    }).promise 
} catch (error) { 
    console.log(error); 
} 
+0

私はtry..catchブロックとそれを使わないで両方を試しました。キャッチは決して呼び出されず、それだけでハングアップします。しかし、断続的に見える。 – kojow7

+0

私はasync/awaitの代わりにそれを検証しても何の影響もありませんでしたか? –

+0

いいえ、それはしませんでした。同じ効果。 – kojow7

関連する問題