gpt4 book ai didi

node.js - Nodejs : TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type string or Buffer. 接收到的类型号

转载 作者:行者123 更新时间:2023-12-04 13:34:12 26 4
gpt4 key购买 nike

我刚刚开始学习流,我试图将数字写入 newfile.txt 但它抛出一个错误:

TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one oftype string or Buffer. Received type number


编码
const {Readable,pipeline} = require('stream');
const {createWriteStream} = require('fs');

async function myfunc(){
const stream = Readable.from(Array.from({length:20},(x,i)=>i+1));
pipeline(stream,createWriteStream('./newfile.txt'),(err)=>{
console.log(err);
})
}

myfunc();

最佳答案

pipeline期望第一个参数的类型为 ReadableStream . Readable.from返回 internal.Readable 类型的值(不是所需的可读流类型),这就是您看到错误的原因。
这是一个如何使用它的示例(将文件作为可读流加载,然后将其推送到写入流)。

const { pipeline } = require('stream');
const { createWriteStream, createReadStream } = require('fs');

async function myfunc() {
const stream = createReadStream('./oldfile.txt');
pipeline(stream, createWriteStream('./newfile.txt'), (err) => {
console.log(err);
});
}

myfunc();
如果您想使用 pipeline 将一些字符串(或对象)推送到可写流中您可以使用 Duplex 创建可读流,而不是加载某些文件的内容。
const { Duplex, pipeline } = require('stream');
const { createWriteStream } = require('fs');

const b = Buffer.from('some text');
const readStream = Duplex();
readStream.push(b);
readStream.push(null);

pipeline(readStream, createWriteStream('./newfile.txt'), (err) => {
console.log(err);
});

关于node.js - Nodejs : TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type string or Buffer. 接收到的类型号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63215514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com