日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Node.jsv17.5.0發(fā)布,核心增加FetchAPI
  • 試驗性支持 fetch() API
  • Stream 新增了 find()、toArray()、forEach()、some()、every() 方法
  • 取消標(biāo)記 esm json 模塊
  • NPM 更新至 8.4.1
  • node-api 添加 node_api_symbol_for() 方法

fetch API 支持

Node.js 核心引入 fetch API 是一個令人興奮的功能,目前在 v17.5.0 版本為試驗性支持,在今后的 LTS 版本中如果正式支持了,就不需要在依賴第三方 HTTP 請求庫了。

創(chuàng)新互聯(lián)建站成都網(wǎng)站建設(shè)定制設(shè)計,是成都網(wǎng)站推廣公司,為廣告推廣提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站營銷推廣熱線:13518219792

Fetch API 提供了 WHATWG 標(biāo)準(zhǔn)接口獲取資源,這是一個基于 Promise 的 HTTP 客戶端,可以用來簡化 HTTP 請求,在瀏覽器環(huán)境已支持,瀏覽器環(huán)境的兼容性實現(xiàn)參考 Web/API/fetch,使用方式與瀏覽器中使用 Fetch API 一致。

Fetch API 主要包含以下四個接口:

  • fetch():該方法是最常用的,用于發(fā)送請求。
  • Headers:相當(dāng)于 response/request 的頭信息,可以使你查詢到這些頭信息,或者針對不同的結(jié)果做不同的操作。
  • Request:相當(dāng)于一個資源請求。
  • Response:相當(dāng)于請求的響應(yīng)。

一個簡單的使用方式:

const response = await fetch(url);

console.log(response.ok);
console.log(await response.json());

運行時需要加上 --experimental-fetch 標(biāo)記,例如 node --experimental-fetch test.mjs。

Node.js 中的 fetch() 實現(xiàn)基于 undici,該項目位于 Node.js Github 項目組織下,其中的幾位貢獻(xiàn)者也是 Node.js 項目的貢獻(xiàn)者,致力于為 Node.js 開發(fā)快速、可靠且符合規(guī)范的 HTTP 客戶端,比內(nèi)置的 HTTP 模塊還要快,因為它摒棄了原有的 HTTP 模塊,直接構(gòu)建在 socket 之上,可參見筆者之前寫的這篇文章request 已廢棄 - 推薦一個超快的 Node.js HTTP Client undici。

Stream 模塊

Node.js v17.5.0 Stream 模塊增加了 find()、toArray()、forEach()、some()、every() 方法,這一塊可 參考官網(wǎng) API#stream 介紹。

下面以 some() 方法為例,如果有任何大文件就返回 true。

import { Readable } from 'stream';
import { stat } from 'fs/promises';

const anyBigFile = await Readable.from([
'file1',
'file2',
'file3',
]).some(async (fileName) => {
const stats = await stat(fileName);
return stats.size > 1024 * 1024;
}, { concurrency: 2 });

注意:奇數(shù)版本不是長期支持版本,Node.js 版本信息參考 Node.js 版本知多少?又該如何選擇?。

Reference

https://fusebit.io/blog/node-fetch/

https://mp.weixin.qq.com/s/JXrInHyOk0HAAtA9-CbESw

https://nodejs.org/en/blog/release/v17.5.0/


文章標(biāo)題:Node.jsv17.5.0發(fā)布,核心增加FetchAPI
文章分享:http://www.dlmjj.cn/article/dhedheh.html