跳到主要内容

实用的小代码 [持续更新]

  1. node读文件async方式:


    // node API promisify
    const { promisify } = require("es6-promisify");
    const fs = require("fs");
    // 没有 top-level-await,只能包一层
    async function main() {
    const readFile = promisify(fs.readFile);
    const data = await readFile("./data.txt");
    console.log(data);
    }
    main();
  2. 利用call去调用原型链的方法,讲道理不知道实际中怎么用:

    const fun = (item, index) => {
    console.log(index);
    return item + 1
    }

    Array.prototype.filter.call([1,2,3,4], fun);
    // [1, 2, 3, 4]

    // apply方式:
    Array.prototype.filter.apply([1,2,3,4,5], [fun]);
  3. 读取blob文件的内容

    await blob.text();

    这样可以读取文件的文本数据,包括text数据和json文本,需要注意的地方是这个事异步的,必须加上await,因为他返回的是个promise对象。

  4. 后端返回blob流的时候需要确认文件的格式的时候,忽略filename的后缀,使用blob返回的type(如果有的话)

    const objectURL = URL.createObjectURL(new Blob([blob], { type: blob.type }));
    // 获取名字
    const name1 = content.match(/filename=(.*);/)[1]; // 获取filename的值

Loading Comments...