《TypeScript图形渲染实战:2D架构设计与实现》 —2.4.5 使用doGet请求文本文件并解析

举报
华章计算机 发表于 2019/12/12 18:30:48 2019/12/12
【摘要】 本节书摘来自华章计算机《TypeScript图形渲染实战:2D架构设计与实现》 一书中第2章,第2.4.5节,作者是步磊峰。

2.4.5  使用doGet请求文本文件并解析

  下面来测试一下doGet静态方法,代码如下:

 

//从服务器请求level.proc文件,该文件是Doom3的关卡文件,文件大小为261KB,word中字数统计将近7万个单词

let response : HttpResponse = HttpRequest . doGet ( "level.proc" ) ;

 

//如果请求成功,进行文件解析

if ( response . success === true ) {

    //将response转换为string类型,因为知道是文本文件

    str = response . response as string ;

 

    //设置要解析的字符串

    tokenizer . setSource ( str ) ;

    while ( tokenizer . moveNext ( ) ) {

        if ( tokenizer . current . type === ETokenType . NUMBER ) {

            console.log ( "NUMBER : " + tokenizer . current . getFloat ( ) ) ;

        }

        else {

            console.log ( "STRING : " + tokenizer . current . getString ( ) ) ;

        }

    }

}

 

  运行程序后,会在浏览器的控制台输出所有解析后的Token,部分输出的截图如图2.7所示。

  image.png

图2.7  doGet请求文本文件并解析

  从图2.7中会发现存在两个问题:

* STRING输出部分有空白字符(实际上该问题仅出现在Windows系统下)。

* doGet使用同步请求,可能导致主线程堵塞,因此被建议不要使用同步请求。

  下面来解决这两个问题。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。