質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

同期

複数のディレクトリに存在するファイルを更新した場合に、すべてのファイルにも更新が行われる事、又は、同じ記憶領域に同時にアクセスして内容の整合性が失われてしまう事をを防ぐ制御などを同期と呼びます。

Q&A

解決済

1回答

959閲覧

なぜか途中で止まってしまう。

One_of_Arthur

総合スコア77

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

同期

複数のディレクトリに存在するファイルを更新した場合に、すべてのファイルにも更新が行われる事、又は、同じ記憶領域に同時にアクセスして内容の整合性が失われてしまう事をを防ぐ制御などを同期と呼びます。

0グッド

0クリップ

投稿2021/08/30 10:04

前提・実現したいこと

順番に処理したい。

発生している問題・エラーメッセージ

「ここまでは来てる 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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

js

1 alert('ここまでは来てる 058'); 2 resolve;

resolve関数を呼んでないからでしょうか。() を付ける必要があります。

投稿2021/08/30 10:15

int32_t

総合スコア20884

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

One_of_Arthur

2021/08/30 10:39

正解です! 完全に思い込みと見落としでした。(。>﹏<。) 有難うございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問