0
fileReader를 사용하여 serviceWorker 내부의 큰 파일을 읽으려고합니다. 난 그냥 간단한 예제를 설치하려면 먼저 무한 루프에 갇혀있어 그리고 왜 이해가 안 돼요. 여기 내 코드입니다 :내 fileReader가 Promise에서 무한대로 반복되는 이유는 무엇입니까?
.then(function(blob) {
console.log("Let's loop out of control");
function compressAndIndexFile(my_blob) {
var file_reader = new FileReader(),
chunk_size = 1024,
offset = 0;
return new Promise(function (resolve, reject) {
file_reader.onload = function (my_event) {
// process
offset += chunk_size
if (offset > 2048) {
resolve("We're done");
}
return loopOverBlob(offset);
};
file_reader.onerror = function (my_event) {
reject(my_event);
};
function loopOverBlob(my_offset) {
var slice;
console.log("LOOPIng")
console.log(my_offset)
slice = blob.slice(my_offset, my_offset += chunk_size);
return file_reader.readAsText(slice);
}
return loopOverBlob(offset);
});
}
return compressAndIndexFile(blob);
})
나는 2048 바이트 후 루프를 중지하려고 올바르게 2 반복 후 트리거와 약속을 해결합니다. 그러나 그 고리는 망각을 계속합니다.
질문 : 지금 내가 잘못 궁금 잠시 동안 위에 앉아있어
. 어쩌면 다른 누군가가 생각을 갖고있을 수도 있습니다. 감사!
해결/거부 후 복귀가 필요합니다. – rickythefox
'해결 '이 재귀를 중지하지 않습니다. –
확인. 돌아 오는 것이 도움이되는지 봅시다. 하, 그렇지. 난 몰랐어. 감사. 대답해라. 내가 확인할 수 있니? – frequent