请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

怎么用pipe来改造getPostData?

这个req.on(‘data’)本身就是一边传一边拼接吧?那如果要使用pipe的话,要在哪个地方createReadStream呢?
能不能用stream和pipe来改写一下以前getPostData的逻辑???

//以前的代码
const getPostData = req => {
  const promise = new Promise((resolve, rej) => {
        if (req.method !== 'POST') {
            resolve({})
            return
        }
        if (req.headers['content-type'] !== 'application/json') {
            resolve({})
            return
        }

        let postData = ''
        let chunks = []
        let size = 0
        req.on('data', d => {
            chunks.push(d)
            size += d.length
        })
        req.on('end', () => {
            let buf = Buffer.concat(chunks, size)
            postData = buf.toString()
            if (!!postData) {
                resolve(JSON.parse(postData))
                return
            }
            resolve({})

        })
    })
    return promise
}

正在回答 回答被采纳积分+3

1回答

双越 2022-04-12 08:28:14

不好改。pipe 是个流动的过程,而 getPostData 是要获取最终的结果,两者目的不一样。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕粉6137024 #1
    嗯估计框架开发就不会那么麻烦了
    回复 有任何疑惑可以回复我~ 2022-04-13 09:41:39
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号