前提・実現したいこと
順番に処理したい。
発生している問題・エラーメッセージ
「ここまでは来てる 058」が表示されたあと、「ここまでは来てる 080」が表示されない。
該当のソースコード
下記コードの「ここまでは来てる 058」が表示されたあと、「ここまでは来てる 080」が表示されずに処理が終わってしまいます。
コンソールには、それらしきエラーは表示されていませんでした。
バグがあるのでしょうけれど分かりません。教えて頂けますか?
javascript
1//前半省略 2 var tweetList = []; 3 var dataString2 =''; 4 function loadList(){ 5 return new Promise(function(resolve,reject){ 6 // alert('ここまでは来てる 041\n' + temporaryDir + temporaryFile); 7 document.getElementById('example1').innerHTML = 'loadList()に入りました'; 8 document.getElementById('example2').innerHTML = temporaryDir + temporaryFile; 9 document.getElementById('example3').innerHTML = '___'; 10 document.getElementById('example4').innerHTML = '___'; 11 document.getElementById('example5').innerHTML = '___'; 12 // alert('ここまでは来てる 042'); 13 var flagR = ''; 14 const intervalID2 = setInterval(() =>{ 15 var e_time = new Date(); 16 var diff = Math.floor((e_time.getTime() - s_time.getTime()) / 1000); 17 if(diff > timeoutSecond){ 18 timeoutAlert(); 19 endingProc(); 20 buttonTurnback(); 21 clearInterval(intervalID2); //intervalId2をclearIntervalで指定している 22 reject; 23 } 24 var xhrobj = new XMLHttpRequest(); 25 xhrobj.open('GET', temporaryDir + temporaryFile, true); 26 xhrobj.send(null); 27 xhrobj.onreadystatechange = function(){ 28 document.getElementById('example3').innerHTML = 'xhrobj.status:' + xhrobj.status; 29 // alert('ここまでは来てる 053'); 30 if ( (xhrobj.readyState == 4) && (xhrobj.status == 200) ){ 31 document.getElementById('example3').innerHTML = 'xhrobj.status:' + xhrobj.status; 32 var dataString2 = xhrobj.responseText; 33 tweetList = dataString2.split(/\n/); 34 document.getElementById('example5').innerHTML = 'tweetList[0]:' + String(tweetList[0]); 35 clearInterval(intervalID2); //intervalId2をclearIntervalで指定している 36 alert('ここまでは来てる 058'); 37 resolve; 38 } 39 } 40 }, intervalSpan); 41 }); 42 } 43 44 var leftHtml = []; 45 function makeHtmlArray(){ 46 return new Promise(function(resolve,reject){ 47 alert('ここまでは来てる 080'); 48 leftHtml = []; 49 for(i in tweetList){ 50 // alert('ここまでは来てる 061'); 51 var tweetBlock = tweetList[i]; 52 // var tweetBlockJSON = JSON.parse(tweetBlock); 53 // embedcode = tweetBlock['embedcode']; 54 var tweetBlockJSON = JSON.parse(tweetBlock); 55 // embedcode = tweetBlockJSON['embedcode']; 56 var embedcodeHtml = tweetBlockJSON.embedcode; 57 // embedcode = tweetBlockJSON['embedcode']; 58 //alert('【displayList()】' + 'tweetBlockJSON:' + tweetBlockJSON + '\n\n' + 'embedcodeHtml:' + embedcodeHtml); 59 // leftHtml += embedcodeHtml + '<hr>'; 60 leftHtml.push(embedcodeHtml); 61 } 62 }); 63 } 64//途中省略 65progressCGIProc() //「progressCGIProc()」は関係ないと思いますので省略 66 .then(loadList) 67 .then(makeHtmlArray); 68//後半省略
補足情報(FW/ツールのバージョンなど)
サーバー:ロリポップ
ブラウザ:Firefox 91.0.2 (64 ビット)
クライアント:Mac OS Mojave 10.14.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/30 10:39