株式会社SKILLでエンジニアをしている田坂です。 今回は弊社で開発している職歴BANKという職歴サービスで 使用しているVuejsの実装の一部を紹介したいと思います。 1. 概要 既存の例外ハンドリング手法をまとめてProsConsを言及 例外ハンドリングをDryかつ、既存コードのロジックの変更をできるだけ抑えて実現した ついでにUI操作における排他処理機能を実装した 1.1 アプリケーションのシチュエーション 左の様な画面でユーザがフォーム送信などの操作をした時に、エラー画面に遷移させずその画面のままで 何が起きて何をすべきかを例えば右の画面の様にユーザに伝えたい状況について考えていきます。 なぜ画面そのままか → 画面が変わってしまうと、フォームの内容が消えるので、UXが悪くなりこれを回避するためです。 コードでいうと以下の様なactionを呼んで、Store.create(this
![Vue.jsでのDryなエラーハンドリングと排他処理 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/84e37b3d6f15f4fbce164221d033c9e87c9900ec/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9VnVlLmpzJUUzJTgxJUE3JUUzJTgxJUFFRHJ5JUUzJTgxJUFBJUUzJTgyJUE4JUUzJTgzJUE5JUUzJTgzJUJDJUUzJTgzJThGJUUzJTgzJUIzJUUzJTgzJTg5JUUzJTgzJUFBJUUzJTgzJUIzJUUzJTgyJUIwJUUzJTgxJUE4JUU2JThFJTkyJUU0JUJCJTk2JUU1JTg3JUE2JUU3JTkwJTg2JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04ODBlZWViNzZlZmNlYTkzY2IzZmVjYTFiZGNiYWJmZg%26mark-x%3D142%26mark-y%3D100%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDB5dXV1dXRzayZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MGEyYzFjNDIzN2E1NTk1NDJiNmFiOTNmZWM5NzFkZWI%26blend-x%3D142%26blend-y%3D504%26blend-mode%3Dnormal%26s%3D83b86c052555ddff7e5d6f95adf9dbbf)