草庐IT

学习typeScript(weakMap,weakSet,set,map)

全部标签

javascript - 如何创建带有数千个标记且不会导致浏览器崩溃的传单 map ?

我正在使用R中的leaflet包来生成上面有大量圆圈的map。目标是我可以发布到我的网站的map。我遇到的问题是,当我增加圆圈的数量时,生成的map加载非常缓慢,我收到“无响应脚本”警告,最终它完全卡住了我的浏览器。我知道这种事情是可能的,因为我找到了一张符合我希望的工作方式的传单map:http://cartologic.com/geoapps/map_viewer/5/ny-crimes-2014-dot-density-map我注意到在上面的map上,圆圈不像我map上的圆圈那样“可点击”,而且它们似乎以方形block加载。我有一种预感,这些事情与我的问题有关。不幸的是,我在le

javascript - typescript 错误 : Reserved word 'this' used as name

我正在尝试获取thisNode.jsTypeScript定义可以正常工作,但WebStorm给了我一大堆错误,其中包含所有相同的消息:Reservedword'this'usedasname.ThisinspectionreportsonanyusesofJavaScriptreservedwordsbeingusedasaname.TheJavaScriptspecificationreservesanumberofwordswhicharecurrentlynotusedasJavaScriptkeywords.Usingthosewordsasidentifiersmayresu

javascript - TypeScript 接口(interface)是否应该在 *.d.ts 文件中定义

TypeScript新手问题。在我们的项目中,我们使用了一些外部JavaScript库,我们需要在其中添加*.d.ts文件。我理解这个用例以及我们需要这样做的原因。但是,对于我们自己定义的接口(interface),我的一位开发人员建议我们在*.d.ts文件中定义它们,这样我们就可以访问接口(interface)类型,而无需将其导入到需要使用的模块中例如,我们想为“错误优先回调”函数创建一个接口(interface),以便我们可以在许多领域重用它。所以不是这个...exportfunctionhelloWorldEventually(callback:(err:Error,result

javascript - Typescript/ES7 中异步/等待的有限并行性

我一直在尝试使用Typescript,但我现在对如何有效使用async/await有点困惑。我正在向数据库中插入一堆记录,我需要获取每次插入返回的ID列表。下面的简化示例一般有效,但它并不像我想要的那样优雅,而且它完全是顺序的。asyncfunctiongeneratePersons(){constnames=generateNames(firstNames,lastNames);letids=[]for(letnameofnames){constid=awaitdb("persons").insert({first_name:name.firstName,last_name:name

javascript - 当与缩放到包含标记一起使用时,ng-map 默认缩放过于放大 ="true"

我正在尝试使用map,当我只有一个标记和zoom-to-include-markers="true"时,我遇到了这种情况,结果是无论怎样,map都被放大了我如何设置缩放属性,结果如下所示:虽然我希望第一个渲染应该看起来像这样:这是我的代码:我尝试调整zoom属性,但map结果没有任何变化。更新:在js中用setZoom()函数改变缩放就可以了,有没有办法根据map的值计算出合适的缩放?谢谢 最佳答案 对于单个标记的情况,您可以指定maxZoom和minZoom属性来限制将在map上显示的map缩放级别。示例该示例演示了如何通过map

javascript - TypeScript类继承构造函数混淆

我正在学习EloquentJavascript这本书,但在章节结尾的练习中遇到了一些障碍。我很早就决定,我将主要使用TypeScript来解决vanillaJS之上的这些练习,只是为了让自己接触TS提供给我的额外功能。完整的练习可以在这里找到:http://eloquentjavascript.net/06_object.html#h_nLNNevzcF7在我看来,我应该基本上扩展作者在本章中定义的预先存在的类,我已尽最大努力用TypeScript重新编写以利用类://fromtextbook.functionrepeat(string:string,times:number):str

javascript - 创建可在浏览器和 nodejs 中使用的 typescript 库

我想创建一个可以在浏览器和nodejs中使用的库。为了争论起见,假设这是我的图书馆:exportdefaultclassMyClass{publicgetString():string{return"Message";}}目前浏览器不支持ES2015模块,我不想在浏览器中依赖requirejs或任何其他模块加载器-我希望仅通过使用包含生成的.js文件来使用这个库脚本标签。感觉用内部模块就可以实现我想要的东西(不想污染全局命名空间)。但是,当我将代码包装在namespace/module中时,我很难将其编译为commonjs模块。实现我想要的目标的正确方法是什么?或者,可能是,作为一个t

javascript - 我应该如何使用 typescript 中的 "pdf"包

我已经安装了pdf,包括使用的类型npminstall--savepdf@types/pdf不幸的是,我找不到任何关于如何使用它的文档。如果我这样做:import{PDFJS}from'pdf';PDFJS.getDocument(fileName)我得到:TyeError:Cannotread'getDocument'ofundefined那么我该如何初始化呢? 最佳答案 更新:自从写下这个答案后,类型定义已重命名以匹配NPM包,并添加了适当的导出定义,因此您可以忽略以下所有内容,只需npminstall--save-dev@类型

javascript - 类型错误 : Failed to set the 'buffer' property on 'AudioBufferSourceNode' : The provided value is not of type 'AudioBuffer

我正在处理现有的codoCircle.调低音量。它按预期运行。现在我想在codepen中使用相同的代码我得到这个错误类型错误:无法在“AudioBufferSourceNode”上设置“缓冲区”属性:提供的值不是“AudioBuffer”类型我做了一些研究,找到了firstanswer有用。答案是当我在playSoundplayer.buffer=buffer中分配时,缓冲区仍未定义,因为加载回调尚未触发。这对我来说很有意义,所以我尝试做一个setTimeout像:setTimeout(playSound,9000);没有成功。你知道解决这个问题的方法吗?为什么在CodeCircle中

javascript - typescript 字符串到 bool 值

我正在尝试将字符串转换为bool值。有几种方法可以做到一种方法是letinput="true";letboolVar=(input==='true');这里的问题是我必须验证输入是真还是假。有没有更优雅的方式,而不是首先验证输入然后进行转换?在.NET中,我们有bool.TryParse如果字符串无效则返回false。typescript中是否有任何等价物? 最佳答案 你可以做这样的事情,你可以有三个状态。undefined表示该字符串不可解析为bool值:functionconvertToBoolean(input:string)