前提・実現したいこと
firebase を使用して簡単なアプリを作成しています。
ユーザーの退会処理完了時に、
「ご利用ありがとうございました。10秒後にHPに移動します」
というメッセージを出して、10秒後にHPに遷移させるように試みています。
10秒後の遷移については、setTimeoutを使用して実現しようとしています。
発生している問題・エラーメッセージ
promise 内で setTimeout を使っているがうまく動作しない(即時実行される)。
該当のソースコード
js
1... 2 to_landingPage() { 3 self.$router.push("/landing_page"); 4 }, 5 withdrawal() { 6 const self = this; 7 self.is_loading = true; 8 let user = firebase.auth().currentUser; 9 10 user 11 .delete() 12 .then(function() { 13 // 削除した旨伝えてリダイレクトさせる 14 self.is_loading = false; 15 self.is_withdrawal = true; 16 }) 17 .then(function() { 18 setTimeout(self.to_landingPage, 10000); 19 }) 20 .catch(function(e) { 21 // エラーを伝える 22 console.log(e.message); 23 self.is_loading = false; 24 self.is_withdrawal = false; 25 }); 26...
試したこと
.then(function() { setTimeout(self.to_landingPage, 10000); })
の箇所をいろいろ書き直してみました。
// 即時実行 .then( setTimeout(self.to_landingPage, 10000); ) // 即時実行 .then( setTimeout(function(){self.to_landingPage}, 10000); )
ご存知の方がいらっしゃいましたら、教えていただけると幸いです!
回答3件
あなたの回答
tips
プレビュー