"DeprecationWarning: Calling an asynchronous function without callback is deprecated." が表示されたら
Node.js を使っているとたまーに
```
DeprecationWarning: Calling an asynchronous function without callback is deprecated.
```
とログに表示されることがある.
これは経験上、ファイルの読み書きの非同期メソッドを同期メソッドと誤って利用していると起きやすい.
```
const data = fs.readFile('./data.json');
```
を
```
const data = fs.readFileSync('./data.json');
```
にしてあげるといい.
もしくは、
```
fs.appendFile('./result.txt', 'test');
```
のように非同期メソッドをコールバックなしで記述したとき.
Node.js で sleep 機能を自作する
Promise と async / await を使います.
retry-after
に対応するため、引数は秒です.
コード
async function sleep(retryAfter) { const time = 1 * retryAfter + 1; return new Promise((resolve, reject) => { setTimeout(() => { resolve(true); }, retryAfter * 1000); }); }
使い方
console.log(new Date()); const s = await sleep(3); console.log(new Date());