私はこの質問に少し苦労しましたが、私はそれをかなり早く説明しようとします。Dropbox JS SDK:.then-functionの内部でi ++を実行する
私はDropbox JavaScript SDKを使用して特定のフォルダから共有リンクを取得しています。まず第一に、私はフォルダからファイルを取得するには、次のコードを使用しています:
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;
}
私はこれらのファイルをループdbx.sharingGetSharedLinks()
、dbx.filesGetTemporaryLink()
などdbx.sharingGetSharedLinkFile()
を使用して、そのリンクを取得します。問題は、フォルダに2つのファイルが含まれている場合に、このプロセスに時間がかかることがあり、進捗状況を示すために<progress>
要素を使用したいと考えています。
まず、私はdbx.sharingGetSharedLinkFile()
さん.then()
プロセスの下でバーの値を進めるために、上記の3つの機能をラップし、i
を追加するfor(var i = 0; i < files.length; i++)
ループを使用しようとしましたが、彼らは同期していないよ - i
値が前に増加していますこれらの関数はすべてそれぞれの端に到達し、何かを出力することができます。
代わりに、ループをwhile()
ループに置き換えて、最後のdbx関数の中にi++
を入れてみましたが、Webブラウザが過負荷になり、無限ループに終わる可能性があります。
dbx.sharingGetSharedLinkFile().then()
に対応してi
の値を増やす方法はありますか?
注:他の部分が完全に行われ、おそらくビット不格好されていないので、私はただ、ここで最も基本的なコードを書いています。 http://paste.ofcode.org/HWdmBfjwRKSSpiRNVLsPcu