nodejs APIコール時の非同期制御(使い捨て用)

完全に自分用のメモ。毎回使い捨て用のAPIコールについて非同期で苦しむので。

最短(APIは適当に)

const rp = require('request-promise');

function make_options() {
 var options = {
   url: 'https://api.cryptowat.ch/markets/poloniex',
   method: 'GET',
 };
 return options;
}
async function main() {
 var ret = JSON.parse(await rp(make_options()));
 console.log(ret);
}

main();

基本的にoptionsを外部関数で整えた後、request-promiseでぶん投げる。
こうすれば、main関数の中はawaitを使える上にすっきりする、、、と思う。

callbackが欲しければ付け足してください

例 callbackの中身はどこかからの拾い物

const rp = require('request-promise');

function callback(error, response, body) {
 if (error) {
   console.error(error);
   return;
 }

 if (response.statusCode != 200) {
   console.error(`statusCode: ${response.statusCode}`);
   return;
 }
 return body;
}

function make_options() {
 var options = {
   url: 'https://api.cryptowat.ch/markets/poloniex',
   method: 'GET',
 };
 return options;
}
async function main() {
 var ret = JSON.parse(await rp(make_options(),callback));
 console.log(ret);
}

main();

この記事が気に入ったらサポートをしてみませんか?