亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

node使用querystring內置模塊解決分頁返回數(shù)據太多導致json.parse()解析報錯問題

 更新時間:2024年09月06日 09:51:12   作者:-風過無痕  
這篇文章主要介紹了node使用querystring內置模塊解決分頁返回數(shù)據太多導致json.parse()解析報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

  • 最近在使用node服務,http模塊調用其他服務的分頁接口有時JSON.parse()會報錯
  • 發(fā)現(xiàn)當分頁返回json數(shù)據過多時,會導致控制臺輸出不全-數(shù)據不對-導致JSON.parse()出錯
  • 查閱資料發(fā)現(xiàn),控制臺輸出也是相當于開辟了一塊空間,現(xiàn)在這塊空間存不下這么多json數(shù)據
  • node有提供內置模塊解決方案,使用querystring內置模塊-把json數(shù)據以流的形式輸出轉換

代碼實現(xiàn)

// 導入http模塊
const http = require("http");
 
// 導入querystring模塊
const querystring = require("querystring");
 
// 注意基地址
// let base_url = "https://ceshi.com"
 
// 基地址-去掉https://前綴 - 不去會報錯
let base_url = "ceshi.com"
 
 
 
 
// post-請求 - 分頁查詢
// 使用promise - 方便維護和管理
const requestpost = () => {
  return new Promise((resolve, reject) => {
 
    // 請求參數(shù)
    let postData = querystring.stringify({
      // 頁碼
      // 頁數(shù)
      // 總數(shù)
      // 參數(shù)
    });
 
    // 配置項
    const options = {
      // 基地址
      hostname: base_url,
      // 默認端口-不要改
      port: 80,
      // 接口路徑
      path: "/api/ceshi/list",
      // 請求方式
      method: "post",
      // 請求頭信息
      headers: {
        // 請求參數(shù)格式
        "Content-Type": "application/json; charset=utf-8",
        // token
        Authorization: "",
      },
    };
 
    // 發(fā)送請求
    const getpost = http.request(options, (res) => {
      // 會包裝一層data-看打印
      // console.log('res',res)
      // 使用JSONStream解析數(shù)據
      // 真正數(shù)據data-不然jsonStream.on會執(zhí)行多次
      const jsonStream = JSONStream.parse(res.data);
 
      // 處理解析到的每個對象
      jsonStream.on("data", (data) => {
        // console.log("打印數(shù)據", data);
        // 全部數(shù)據-最外層
        resolve(data);
      });
      
      // 解析錯誤
      jsonStream.on("error", (err) => {
        console.error(err.message);
      });
 
      // 將響應流 - 放到JSONStream
      res.pipe(jsonStream);
 
    });
 
    // 錯誤處理
    getpost.on("error", (err) => {
      // 返回失敗結果
      reject(err.message);
    });
 
    // 請求參數(shù)-寫入
    getpost.write(postData);
 
    // 結束請求-不寫請求發(fā)送不出去
    getpost.end();
 
  });
};

總結

經過這一趟流程下來相信你也對 node-使用querystring內置模塊解決分頁返回數(shù)據太多-導致json.parse()解析報錯 有了初步的深刻印象,但在實際開發(fā)中我 們遇到的情況肯定是不一樣的,所以我們要理解它的原理,萬變不離其宗。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Nodejs使用mysql2操作數(shù)據庫的方法完整講解

    Nodejs使用mysql2操作數(shù)據庫的方法完整講解

    MySQL2是一個基于Node.js的MySQL數(shù)據庫驅動程序,它是MySQL官方推薦的驅動之一,下面這篇文章主要給大家介紹了關于Nodejs使用mysql2操作數(shù)據庫的相關資料,需要的朋友可以參考下
    2024-01-01
  • 詳解Koa中更方便簡單發(fā)送響應的方式

    詳解Koa中更方便簡單發(fā)送響應的方式

    這篇文章主要介紹了詳解Koa中更方便簡單發(fā)送響應的方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 詳解在express站點中使用ejs模板引擎

    詳解在express站點中使用ejs模板引擎

    本篇文章主要介紹了在express站點中使用ejs模板引擎,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • electron demo項目npm install安裝失敗的解決方法

    electron demo項目npm install安裝失敗的解決方法

    下面小編就為大家分享一篇electron demo項目npm install安裝失敗的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 整理 node-sass 安裝失敗的原因及解決辦法(小結)

    整理 node-sass 安裝失敗的原因及解決辦法(小結)

    這篇文章主要介紹了整理 node-sass 安裝失敗的原因及解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • nodejs學習筆記之路由

    nodejs學習筆記之路由

    因為只是用于本地服務器用于自己測試用,所以不需要太完善的路由功能,所以也就不去使用express框架,而是自己實現(xiàn)一個簡易路由,可以針對自己的需求來定制路由功能。
    2017-03-03
  • 淺談node使用jwt生成的token應該存在哪里

    淺談node使用jwt生成的token應該存在哪里

    早上逛某乎的時候,遇到一位同學在問這個問題,很好奇jwt的存儲位置。本文詳細的介紹一下,感興趣的可以了解一下
    2021-06-06
  • Node.js中npm 和 peerDependencies的使用

    Node.js中npm 和 peerDependencies的使用

    本文詳細介紹了npm中的peerDependencies和--legacy-peer-deps使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • Node.js中 __dirname 的使用介紹

    Node.js中 __dirname 的使用介紹

    這篇文章主要給大家介紹了關于Node.js中 __dirname使用的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Node.js五大應用性能技巧小結(必須收藏)

    Node.js五大應用性能技巧小結(必須收藏)

    本篇文章主要介紹了Node.js五大應用性能技巧小結(必須收藏),小編覺得挺不錯的,現(xiàn)在分享給大家
    2017-08-08

最新評論