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();