jsにおけるforループと非同期コールバック関数の実行順序の問題


前回のブログ「HTML 5の新機能localstorageを利用してユーザーデータをクライアントに一時保存し、後でアップロードする」でforループについて言及しましたが、今日はforループが機能しないことがわかりました.最終postリクエストは1回のみ実行され、コードは以下の通りです.
for(i=localStorage.length-1;i>=0;i--){//         localstorage
	local_key=localStorage.key(i);
	if(local_key.length>8 && !isNaN(local_key))//key   8     
	{
		local_val=localStorage.getItem(localStorage.key(i));						
		local_array=local_val.split(",");//              
		$scope.local_ygbh = local_array[0];
		$scope.local_khbh = local_array[1];
		local_post($scope.local_ygbh,$scope.local_khbh,local_key);//              ,          
	};
}
function local_post(a,b,j)
{
	//POST    
	myHttp.post({
		req : {
			service : 'P9999999',
			bex_codes : 'insertzxthlskandkhmx',
			v_ygbh : a,
			v_khbh : b
		}
	}).then(function(data) {
		var info = data.msg;
		if (!isNaN(info[0].code)) {//                 ,        
			localStorage.removeItem(j);//       	
		}			
	});
}

ネットで調べると匿名関数でパッケージを閉じる方法がありますが、試してみると解決できません.
for(var i = 0; i < 10; i++) {
    (function(e) {
        setTimeout(function() {
            console.log(e);  
        }, 1000);
    })(i);
}

解決策はまだ分からないが、機能の正常な使用に影響を与えないで、毎分1回実行すれば、需要を満たすことができる.