node.jsが提供するutil.promisifyの使い方を記載します。
※async/awaitの使い方で既に利用しています。
util.promisify?
コールバックを必要とする関数をPromise
に変換するutil
です。
制約
Promise
化する対象の関数にたいして、以下制約があります。
- 対象の関数の最後の引数がコールバック関数であること
- コールバック関数の引数は(error, value)であること
使い方
fs.readFile
をPromise
に変換し、await
で処理を待っている例です。
'use strict'
const { promisify } = require('util');
const fs = require('fs');
const AWS = require('aws-sdk');
AWS.config.loadFromPath('./config/credentials.json');
AWS.config.update({ region: 'ap-northeast-1' });
const PARAMETER_FILE_PATH = './getItemParams.json';
const dynamodb = new AWS.DynamoDB();
async function getItem() {
try {
const fileData = await promisify(fs.readFile)(PARAMETER_FILE_PATH, 'utf8');
const data = await dynamodb.getItem(JSON.parse(fileData)).promise();
console.log(JSON.stringify(data));
} catch (error) {
console.log(error);
}
}
getItem();

ECMAScript,Javaを扱います。
最近は、vue.jsなどフロントエンドの技術に興味あり!
中日ドラゴンズを応援してます。
コメント