이 질문의 이름을 다소 고민했지만 다소 빨리 설명하려고합니다.Dropbox JS SDK : .then-function 내부에서 i ++를 실행하십시오.
Dropbox JavaScript SDK를 사용하여 특정 폴더에서 공유 링크를 검색하고 있습니다. 우선, 나는 폴더에서 파일을 검색하려면 다음 코드를 사용하고 있습니다 : 다음이 파일을 통해 루프 dbx.sharingGetSharedLinks()
, dbx.filesGetTemporaryLink()
뿐만 아니라 dbx.sharingGetSharedLinkFile()
와 자신의 링크를 얻을 사용합니다
var DROPBOX_PATH = path;
var ACCESS_TOKEN = '***';
var dbx = new Dropbox({ accessToken: ACCESS_TOKEN });
function listFiles() {
dbx.filesListFolder({ path: DROPBOX_PATH })
.then(function(response) {
displayFiles(response.entries);
})
.catch(function(error) {
console.error(error);
});
return false;
}
. 문제는 폴더에 파일 몇 개가 들어있는 경우이 프로세스에 약간의 시간이 걸릴 수 있으며 진행률이 얼마나 떨어져 있는지 표시하려면 <progress>
요소를 사용하고 싶습니다.
첫째, 나는 dbx.sharingGetSharedLinkFile()
의 .then()
과정에서 바 가치를 진행 위에서 언급 한 세 가지 기능을 래핑하는 for(var i = 0; i < files.length; i++)
루프를 사용하고, i
을 추가했지만, 그들은 동기화 아니에요 - i
값이 이전에 증가 모든 기능은 각각의 목적을 달성하고 무엇이든 출력 할 수 있습니다.
루프 대신 while()
루프로 바꾸고 마지막 dbx 함수 안에 i++
을 넣으려고했지만 웹 브라우저가 과부하가되어 결국 무한 루프가 될 수 있습니다.
dbx.sharingGetSharedLinkFile().then()
과 일치하여 i
값을 증가시킬 수있는 방법이 있습니까?
참고 : 다른 부분이 완전히 완료되지 않았고 조금 어색하기 때문에 여기에 가장 필수적인 코드를 작성합니다. 전체 소스 코드는 여기에 있습니다. http://paste.ofcode.org/HWdmBfjwRKSSpiRNVLsPcu