《Node.js 常用代码片段》

《Node.js 常用代码片段》

1. 遍历对象条目

// 方式一:Object.keys() let obj = { key1: "value1", key2: "value2", key3: "value3" }; Object.keys(obj).forEach(key => { let value = obj[key]; // use key and value here }); // 方式二:for...in for (const key in obj) { let value = obj[key]; // 检查是否来自原型链 if (obj.hasOwnProperty(key)) { // 自身属性 } else { // 原型链属性 } }

2. 数组 join 成字符串

let array = ["hello", "world", "!"]; console.log(array.join('-')); // hello-world-!

3. 删除一个文件

同步 API:

const fs = require('fs'); const path = './example.txt'; try { fs.unlinkSync(path); // file removed } catch (err) { console.error(err); }

异步 API:

fs.unlink(path, (err) => { if (err) { console.error(err); return; } // file removed });

4. 遍历数组的几种方式

arr.forEach(function (item) { someFn(item); }); for (var i = 0, len = arr.length; i < len; i++) { someFn(arr[i]); }

5. 读取 PassThrough body(异步流拼接)

// 将 chunk data 串起来,放在 buffer 里面 async function readableToBuffer(body) { let buffers = []; let p = new Promise(function (resolve, reject) { body.on('data', chunk => { buffers.push(chunk); }); body.on('end', () => { resolve(true); }); }); await p; return Buffer.concat(buffers); } // 使用示例 let resp = await event.fetch(event.request, event.config); // resp.body 是个 PassThrough 类 let result = await readableToBuffer(resp.body); try { // 记得把 buffer 转换为 string let resultObj = JSON.parse(result.toString()); console.log(resultObj); } catch (e) { console.error(e); }
阅读 — · 全站 —
🎸 我的歌单 0 首