JavaScript関連のことを調べてみた2022年11月28日

JavaScript関連のことを調べてみた2022年11月28日

【Node.js】コールバック地獄の関数からPromiseを使って同期処理後に値を取得する

## はじめに
意外と検索してパパっと出てこないので記事化してみました。

Azure上のMySQLとの接続処理をコーディングしていたので、サンプルのコードはMySQLのusersテーブルからデータを取得する処理をイメージしています。

## 実現したいこと
async/awaitを使って非同期処理内で関数を同期実行して、返り値を同期的に取得したいケースがあるんじゃないかと思います。
“`sample.js
(async function() {
response = await requestApi();
console.log(response);
})();
“`

Promiseを返してくれる関数だったら楽でいいのですが、例えば下記のようにコールバックにコールバックを重ねている関数を全て同期処理させた後、値を取得するにはどうすればいいのでしょうか。

“`dbaccess.js
import * as mysql from ‘mysql’;
import * as fs from ‘fs’;
import * as dotenv from ‘do

元記事を表示

[rails]Googlemap APIを使ってプチ食べログを作りたいのでテスト環境で途中まで実装してみた!

2022/11/27
これまでずっと詰まってたのですが
日本サッカーがコスタリカに負けてから何故かうまく行き始めたのでそのままの勢いでQiitaを書きます。
私は初心者なので、正解を書ける自信がないので完全未経験の方用に何か書くつもりはあまりありません。ご承知ください。
また、違ったことを書いている可能性もございますので、その時は宜しければご指摘していただけると幸いです。

## [やりたいこと]
ポートフォリオ用に、食べログのラーメン屋さん専門みたいなのを作ろうかなと
やろうとしている機能は
○Device機能
☆GooglemapAPI(今回の主軸)
○多対多(アソシエーション、フォロー機能)
○AWS
などです。

## [注意]
かなり行き当たりばったりな記事です。
先にサンプルファイルで機能実装テストが完了してから本番ファイルで実装する予定です。
こちらのテストではユーザー関連は実装しておりませんので
後々、他のgemなどの影響で書き方など変わる可能性があります。ご承知ください。

## [環境]
※使っていない可能性のある環境も記載してます。
Mac M1チップ
ra

元記事を表示

[nodejs + mysql] routesでapiを管理する

# 初めに
nodejs + mysql でベックエンドのコード書いているが、徐々にコートが長くなってカテゴリごとに分ける必要性を感じた。
ここで、routerという機能を使ってより管理しやすく環境を整えることを書いておく。

# 環境
window 10
mysql 8.0.31
ejs: 3.1.8
express: 4.18.2
## Dir
“`:dir
├─public
index.html
users.html
├─routes
users.js
└─views
server.js
“`
# Code
## routesで分ける前
“`javascript:server.js
const express = require(‘express’);
const mysql = require(‘mysql’);
const app = express();
app.set(‘view engine’, ‘ejs’)

const con = mysql.createConnection({
host: ‘localhost’,
user: ‘

元記事を表示

node.jsでチャットしながら出来るブラックジャックを作りました

こんにちは
お久しぶりです。りちゃ丸です
10月までに完成させると言っていたチャットの出来るカードゲームなのですが
何とか完成しました
今回はブラックジャックになります
![ブラックジャック.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2879865/4386bafd-e340-b863-73f7-1fbe417fc27e.jpeg)
“`app.js
‘use strict’
const express = require(‘express’);
const socketIo = require(‘socket.io’);
const http = require(‘http’);
const fs = require(‘fs’);
const bodyParser = require(“body-parser”);
const ejs = require(‘ejs’);
var url =”./index.ejs”
const html =fs.readFileSync(url,’utf-8′,

元記事を表示

【Vuetify】v-expansion-panelとv-switchの併用

## やりたいこと

Google chromeの設定画面にあるような
スイッチトグルつきのアコーディオンを作りたい。
![chorome.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1773736/aa8ae11b-3ebb-2706-1421-f189f66abe05.gif)

## コード例
“`html