首页 > 编程语言 >node-fetch Advanced Usage All In One

node-fetch Advanced Usage All In One

时间:2023-08-27 09:44:56浏览次数:45  
标签:node const url res path Usage import fetch

node-fetch Advanced Usage All In One

fetch

// stream

https://www.npmjs.com/package/node-fetch#streams

image

demos

Node.js web crawler


import fetch from "node-fetch";

import path from 'node:path';
import {fileURLToPath} from 'node:url';

// import fs from 'node:fs';
import {createWriteStream} from 'node:fs';
import {pipeline} from 'node:stream';
import {promisify} from 'node:util'

// const __filename = fileURLToPath(import.meta.url);
// const __dirname = path.dirname(__filename);
// console.log(`import.meta.url`, import.meta.url)
// console.log(`__dirname`, __dirname)


async function downloadFile(url, path) {
  const streamPipeline = promisify(pipeline);
  fetch(url).then(async (res) => {
    if (!res.ok) {
      throw new Error(`unexpected response ${res.statusText}`);
    }
    console.log(`✅ res =`, res)
    return await streamPipeline(res.body, createWriteStream(path));
  }).catch(err => {
    console.log(`❌ err =`, err)
  }).finally(() => {
    console.log(`finally 

标签:node,const,url,res,path,Usage,import,fetch
From: https://www.cnblogs.com/xgqfrms/p/17659774.html

相关文章

  • 标题:在Godot中使用Node2D创建自定义的Label
    在Godot游戏引擎中,我们经常需要在游戏中显示文本信息。通常,我们可以使用Label节点来实现这一点。但是,在某些情况下,你可能希望更灵活地控制文本的显示和样式。在本篇博客中,我们将学习如何通过使用Node2D节点来创建一个自定义的Label,从而能够更好地控制文本的呈现方式。效果图步......
  • Node* p = new Node(); 与 new Node;
    intmain(){ Node*p=newNode(); cout<<p->data<<endl;//0 p->data=9; cout<<p->data<<endl;//9 Node*p2=newNode; cout<<p2->data<<endl;//不确定 p2->data=91; cout<<p2......
  • Calico Node 资源
    Node资源介绍Node资源(node)表示运行Calico的节点。将主机添加到Calico集群时,需要创建一个节点资源,其中包含在主机上运行的Calico/节点实例的配置。启动calico/node实例时,提供给该实例的名称应与node资源中配置的名称匹配。默认情况下,启动calico/node实例将使用计算主机的主机......
  • Nodejs 安装后的小配置
    Nodejs安装小配置配置npm配置全局安装位置和缓存路径位置npmconfigsetprefix"D:\Environment\node\node_global"npmconfigsetcache"D:\Environment\node\node_cache"配置npm​仓库镜像#设置淘宝源npmconfigsetregistryhttps://registry.npm.taobao.org......
  • cocos2dx之利用CCSpriteBatchNode创建多个Sprite
    相关技术文档,我们在渲染一个图片的时候经常都是一次渲染一个,如果图片资源很多的话,自然降低了效率,这个时候,我们想,要是能一次渲染完毕,以后要再创建的时候,就不需要再渲染就好了,刚好提供了一个类:CCSpriteBatchNode,一次渲染多个,具体看如下代码:voidMyBathNodeLayer::initLayer(){ CCSi......
  • node.js环境变量配置
    node.js环境变量配置环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径。为什么需要配置?因为以后在执行类似:npminstallexpress[-g](后面的可选参数-g,g代表global全局安装的意思)的安装语句时,会将安装的模块安装到【C:\Users\用户名\AppData\Roaming\npm】......
  • 使用 docker 打包构建部署 Vue 项目,一劳永逸解决node-sass安装问题
    文章源于Jenkins构建Vue项目失败,然后就把node_modules删了重新构建发现node-sass安装不上了,折腾一天终于可以稳定构建了。犹记得从学node的第一天,就被node-sass折磨了一整天,后面本地没问题了然后服务器开始折磨了,这次又遇到,尝试了一次又一次,还是用本地包构建最稳,觉......
  • 04.node.js websocket
    一、概念Node.jsWebSocket是一个用于建立实时双向通信的模块。WebSocket协议允许服务器与客户端之间进行全双工通信,其API使用了事件驱动和流式的方式。二、客户端  三、服务端  参考:https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket ......
  • win7 安装高版本node
    目前nodejs最高支持13.14版本的msi安装包安装。官方历史版本下载:https://nodejs.org/zh-cn/download/releases/。如果想使用msi安装更高级的版本系统提示Windows版本不支持。   解决方法:1、先在系统安装一个13.14版本,记得安装路径。2、在官网下载想要安装......
  • node前端的流水线pipline案例
    pipeline{agent{kubernetes{cloud'kubernetes-dev'slaveConnectTimeout1200workspaceVolumehostPathWorkspaceVolume(hostPath:"/opt/jenkins/workspace",readOnly:false)yaml'''apiVersi......