牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Node.js でファイルのパスからファイル名や拡張子を取り出すメモ

(node v8.x)

const path = require('path');
const filePath = 'hoge/fuga/moge.png';

console.info(path.basename(filePath));
console.info(path.dirname(filePath));
const ext = path.extname(filePath);
console.info(ext);
console.info(path.basename(filePath, ext));

//moge.png
//hoge/fuga
//.png
//moge

参考

Javascript で非同期処理の戻り値を実行順で取りたい場合のメモ

処理完了順

function func() {
  const data = [1, 4, 3, 2,];
  for (let i = 0; i < data.length; i += 1) {
     new Promise(resolve => {
      setTimeout(() => {
        resolve(data[i]);
      }, 1000 * data[i]);
    }).then(result => console.info(result));
  }
  console.info('for-end');

  return 'DONE!';
}

func();
// for-end
// "DONE!"
// 1
// 2
// 3
// 4

実行順

async function async_func() {
  const data = [1, 4, 3, 2,];
  for (let i = 0; i < data.length; i += 1) {
    const result = await new Promise(resolve => {
      setTimeout(() => {
        resolve(data[i]);
      }, 1000 * data[i]);
    });
    console.info(result);
  }
  console.info('for-end');

  return 'DONE!';
}

async_func().then((d) => {
  console.info(d);
});
// 1
// 4
// 3
// 2
// for-end
// DONE!