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

in #side7nodejs5 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.13
TRX 0.33
JST 0.034
BTC 110156.04
ETH 4276.74
USDT 1.00
SBD 0.83