同期処理でrequestモジュールの戻り値を返す(Node.js)(非コールバック)

in #side7nodejs3 years ago

requestモジュールは非同期で処理がすすんでいくので
リクエスト結果を得たい場合は何かしらしないとダメ。

https://designetwork.daichi703n.com/entry/2016/11/16/node-js-sync-request

var request = require('sync-request');
var returnCode;
var getUrl = 'https://google.com/';

console.log("Start  Return Request Sync");
returnCode = httpGet(getUrl);
console.log("Status Code (main)     : "+returnCode);
console.log("End    Return Request Sync");

function httpGet(url){
  var response = request(
    'GET',
    url
    );
    console.log("Status Code (function) : "+response.statusCode);
    return response.statusCode;
}

sync-request
https://www.npmjs.com/package/sync-request

var request = require('sync-request');
var res = request('GET', 'https://example.com', {
  headers: {
    'user-agent': 'example-user-agent',
  },
});
console.log(res.getBody());


今はsync-request非推奨で別のものがあるらしい
ただサンプル程度であればこれで十分だとおもう。

requestモジュールの使いかと同じなのでわかりやすいけど
postデータ送りたい時は自分でbodyを書かないといけない
aaa=aaa&bbb=BBB

あと上記URLエンコード必要

Coin Marketplace

STEEM 0.27
TRX 0.11
JST 0.031
BTC 67946.39
ETH 3824.66
USDT 1.00
SBD 3.77