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") 

는 "하나는"콘솔에 반향되어 있지만, "2"는 결코 에코 않겠다. 오류가 발생하지 않습니다. 실제로 URL은 존재하지만 RNFS.DocumentDirectoryPath +/userdata 디렉토리는 존재하지 않습니다.

내가 뭘 잘못하고 있니? 오류가 발생하지 않는 이유는 무엇입니까? 왜이 시점에서 매달리고 있습니까?

업데이트

에만 가끔 일어날 것 때문에 불행하게도,이 진단 또는 작은 테스트를 생산하기 어렵다. 내가해야 할 일은 반응이있는 명령 프롬프트 노드 창을 종료하고 react-native run-android을 다시 실행해야 할 때입니다. 내가 그렇게하면 완벽하게 진행됩니다.

+0

약속 이후에 .then 절이 필요합니까? RNFS.downloadFile ({fromUrl : url, toFile : 경로}). promise.then (res => { console.log ('1.5') }}); – Dan

+0

@ 단, 대신 기다리고 있습니다. 그러나. 내가하려고해도. 대신에,. 대신에 그것은 같은 지점에 매달린다. – kojow7

+0

흠, 어떤 이유로이 오류는 간헐적 인 것 같습니다. 때때로 그것은 작동하는 것처럼 보이고 다른 때에는 작동하지 않는 것처럼 보입니다. – 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