問題タブ [array-reduce]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Javascript、Promises を使用して Array.reduce 内に複数のファイルをアップロードする方法は?
Javascriptから進化し、大きなファイル用の FileReader を Promises に接続しました。どのように? Promise がどのように関数を解決できるかを示しましたが、今は同じですが Array.reduce 関数内で立ち往生しています。
目標は、各配列アイテム (ファイル) が順番にアップロードされる (つまり、promise によって制御される) 配列内にファイルをアップロードすることです (既に実行しています)。
次に、答えがhttp://www.html5rocks.com/en/tutorials/es6/promises/?redirect_from_locale=esにあることは理解していますが、それをここに適用する方法がわかりません。私の配列は約束の配列ではなく、ファイルの配列です。まあ、全体はまだ難読化されています。
これは私のコードで、ein
console.log メッセージが表示される場合に機能します。
いくつかのコメントの後に更新されましたが、今では機能しているようです...まだわかりません
var uploading_file、start、temp_end、end、content; var BYTES_PER_CHUNK = 100000;
myArray.reduce(function(previous, current) { return previous .then(function() { BYTES_PER_CHUNK = 100000; start = 0; temp_end = start + BYTES_PER_CHUNK; end = parseInt(current.size); if (temp_end > end) temp_end = 終了; コンテンツ = ''; uploading_file = 現在;
}); },Promise.resolve()) .then(function(){ console.log('ein'); });
function upload() { if (start < end) { return new Promise(function(resolve){ var chunk = uploading_file.slice(start, temp_end); var reader = new FileReader(); reader.readAsArrayBuffer(chunk); リーダー. onload = function(e) { if (e.target.readyState == 2) { content += new TextDecoder("utf-8").decode(e.target.result); start = temp_end; temp_end = start + BYTES_PER_CHUNK ; if (temp_end > end) temp_end = end; resolve(アップロード()); } } }); } else { uploading_file = null; Promise.resolve(コンテンツ) を返します。} }
改善されたコード、機能しているように見えますが、おそらく読みやすくなっていますか?
/li>
php - PHPを使用して多次元配列を単一の配列に変換するには?
データベース クエリを実装した後、以下の多次元配列を取得しています。
二次元配列
しかし、以下の形式のように、それを一次元配列に変換したい:
一次元配列
これどうやってするの?