Nodejs如何使用http標(biāo)準(zhǔn)庫異步加載https請(qǐng)求json數(shù)據(jù)
1. 同步方法實(shí)現(xiàn)
//通過https加載json數(shù)據(jù) let url = 'https://img-home.csdnimg.cn/data_json/toolbar/toolbar1105.json'; let GetJsonData=function (url){ const https = require('https'); https.get(url, (response) => { let data = ''; //數(shù)據(jù)正在接收中... response.on('data', (chunk) => { data += chunk; }); //數(shù)據(jù)接收完成 response.on('end', () => { console.log('同步請(qǐng)求數(shù)據(jù)完成:',JSON.parse(data)); }); }).on("error", (error) => { console.log("Error: " + error.message); }); }
加載數(shù)據(jù)
GetJsonData(url);
加載結(jié)果
2.異步方法實(shí)現(xiàn)
//異步請(qǐng)求JSON數(shù)據(jù)實(shí)現(xiàn) let GetJsonDataAsync=(url)=>{ const https = require('https'); return new Promise((resolve, reject) => { https.get(url, (response) => { let data = ''; //數(shù)據(jù)正在接收中... response.on('data', (chunk) => { data += chunk; }); //數(shù)據(jù)接收完成 response.on('end', () => { //console.log(JSON.parse(data)); resolve(data);//數(shù)據(jù)接收完成 }); }).on("error", (error) => { console.log("Error: " + error.message); reject(new Error(error.message)); }); }); };
加載結(jié)果處理
//異步調(diào)用 GetJsonDataAsync(url).then(value => { console.log("======================下面為異步加載數(shù)據(jù)================================="); if (typeof value === "string") { console.log('異步加載請(qǐng)求數(shù)據(jù)完成:', JSON.parse(value)); } })
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Node.js中處理Promise中錯(cuò)誤的示例代碼
在現(xiàn)代JavaScript開發(fā)中,尤其在Node.js環(huán)境中,Promise已成為處理異步操作的重要方式,然而,Promise的錯(cuò)誤處理卻常常讓開發(fā)者感到困惑,在這篇文章中,我們將深入探討如何在Node.js中處理Promise中的錯(cuò)誤,提供多個(gè)示例代碼,以便于理解和實(shí)踐,需要的朋友可以參考下2024-09-09Visual?Studio?Code中npm腳本找不到圖文解決辦法
這篇文章主要給大家介紹了關(guān)于Visual?Studio?Code中npm腳本找不到的圖文解決辦法,做前端開發(fā)如果項(xiàng)目達(dá)到了一定的規(guī)模就離不開npm了,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07詳解如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版)
這篇文章主要介紹了如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04基于node的tcp客戶端和服務(wù)端的簡(jiǎn)單通信
通過Nodejs,我們可以快速地搭建一個(gè)簡(jiǎn)單的Web服務(wù)器,實(shí)現(xiàn)服務(wù)端與客戶端的簡(jiǎn)單通信,本文主要介紹了基于node的tcp客戶端和服務(wù)端的簡(jiǎn)單通信,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02NestJS開發(fā)核心概念Providers類基本用法詳解
這篇文章主要為大家介紹了NestJS開發(fā)核心概念Providers類基本用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08詳解Node使用Puppeteer完成一次復(fù)雜的爬蟲
這篇文章主要介紹了詳解Node使用Puppeteer完成一次復(fù)雜的爬蟲,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04node使用querystring內(nèi)置模塊解決分頁返回?cái)?shù)據(jù)太多導(dǎo)致json.parse()解析報(bào)錯(cuò)問題
這篇文章主要介紹了node使用querystring內(nèi)置模塊解決分頁返回?cái)?shù)據(jù)太多導(dǎo)致json.parse()解析報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09