专栏名称: 前端早读课
我们关注前端,产品体验设计,更关注前端同行的成长。 每天清晨五点早读,四万+同行相伴成长。
目录
相关文章推荐
简约小生活  ·  容易长肉的主食,不是米饭而是它,常吃等于喝油 ·  10 小时前  
简约小生活  ·  容易长肉的主食,不是米饭而是它,常吃等于喝油 ·  10 小时前  
简约小生活  ·  手上这块肉,一看就知身体好坏,很灵哦! ·  10 小时前  
简约小生活  ·  手上这块肉,一看就知身体好坏,很灵哦! ·  10 小时前  
龙视新闻联播  ·  回眸“十四五”|黑龙江:当好国家粮食安全压舱石 ·  18 小时前  
龙视新闻联播  ·  回眸“十四五”|黑龙江:当好国家粮食安全压舱石 ·  18 小时前  
Java基基  ·  SpringBoot + Minio ... ·  22 小时前  
Java基基  ·  SpringBoot + Minio ... ·  22 小时前  
51好读  ›  专栏  ›  前端早读课

【第3514期】JavaScript 的新超能力:显式资源管理

前端早读课  · 公众号  · 前端  · 2025-05-22 08:00

正文

请到「今天看啥」查看全文


. read ( ) ) ;
if ( value ) {
// Process data and save the result in processedData
...
// An error is thrown here!
}
}

// Because the error is thrown before this line, the stream remains locked.
reader . releaseLock ( ) ;

return processedData ;
}

readFile ( 'https://example.com/largefile.dat' ) ;

因此, 开发者 在使用流时必须使用 try...finally 块,并将 reader.releaseLock() 放在 finally 中,以确保始终会释放锁:

async function processData(response){
    const reader = response.body.getReader();
    let done =false;
    let value;
    let processedData;

    try{
        while(!done){
            ({ done, value }=await reader.read());
            if(value){
                // Process data and save the result in processedData
                ...
                // An error is thrown here!
            }
         }
      }finally{
         // The reader's lock on the stream will be always released.
         reader.releaseLock();
      }

     return processedData;
}

readFile('https://example.com/largefile.dat');

还有一种更简洁的写法:我们可以创建一个可释放的对象 readerResource,它包含 reader 和一个 dispose() 方法用于调用 reader.releaseLock() 。通过 using 声明,这个 dispose() 方法会在代码块结束时自动调用,无需显式地释放锁。

未来,像流这样的 Web API 也可能直接集成 [Symbol.dispose] [Symbol.asyncDispose] ,开发者就不再需要手动封装这些资源对象。

async function processData(response){
    const reader = response.body.getReader();
    let done =false;
    let value;

    // Wrap the reader in a disposable resource
     using readerResource ={
        reader: response.body.getReader(),
        [Symbol.dispose]






请到「今天看啥」查看全文


推荐文章
简约小生活  ·  手上这块肉,一看就知身体好坏,很灵哦!
10 小时前
简约小生活  ·  手上这块肉,一看就知身体好坏,很灵哦!
10 小时前
A963设计网  ·  【微站】汪洋:视觉元素,抽象变化
7 年前