URLからJSONオブジェクトを返す関数を作成しようとしています。 それは次のように動作するはずです:私は、次のURLを使用する場合、私は、この方法でそれを使用できるようにNode.js/JavaScriptのURLからJSONオブジェクトを返します。
function getObject(url) {
// return undefined when the url or json is invalid
return object;
}
:
var object = getObject('http://ip.jsontest.com/');
console.log('My IP is: ' + object.ip)
JSONの例からは、次のようになります。
{"ip": "127.0.0.1"}
ので、上記のコードは、これをログに記録する必要があります
私のIPがある:127.0.0.1
は、私はすでに要求モジュールでそれを試してみましたが、StackOverflowの上でこの例を見つけました:それは必要がありますが、私が見つけたとして
request.get({
url: 'http://ip.jsontest.com/',
json: true,
headers: {'User-Agent': 'request'} }, (err, res, data) => {
if (err) {
console.log('Error:', err)
} else if (res.statusCode !== 200) {
console.log('Status:', res.statusCode)
} else {
// data is already parsed as JSON:
console.log(data)
}
})
データがコンソールに表示されます上記の例のようにそれを使用する方法はありません。 コールバックなしでこれを解決する方法はありますか?私は要求が非同期であることを読んでいますが、私はsynchronusソリューションが必要です。
Node.jsの非同期に実行されます。 PromisesまたはAsync/Awaitを使用できます。 – fdelia
同期ソリューションは必要ありません。約束などの非同期プログラミングパターンを採用する必要はありません。 – trincot