草庐IT

Promise方法

全部标签

javascript - 使用 Javascript 处理时区的最佳方法是什么

我有一个给定时区的经过身份验证的用户,例如“柏林,GMT+1”。为了这个问题,假设我在全局范围内有这个:vartimeZone="Berlin";vargmtDistance=1;让所有与日期相关的JS相应地运行的最佳解决方案是什么,这意味着如果我创建一个新的Date对象,它将考虑时区。我认为这会非常简单,但我似乎没有在Google/SO上找到执行此操作的完美方法。我会优先考虑不需要任何外部库的答案。 最佳答案 我的偏好是使用UTC时间在服务器端存储所有日期,当我处理通过AJAX调用返回的数据时,创建一个全局处理程序来进行一些解析。

javascript - 检测页面来自后退按钮的方法

我制作了一种方法,可以在单击链接时在页面底部显示加载指示器。当有人点击后退按钮时,它当然不会刷新页面内容,因此会显示加载区域。有没有办法检测页面是否来自重定向以触发移除加载指示器的方法?有点像这样:functioncameFromeBackButton(){//hideloadingindicator}OR是停止后退按钮并改为触发方法的方法吗?像这样:functionbackButtonClicked(){//dostuffinsteadofgoingback}编辑:这几乎就是该区域的名称$('.link').click(function(){//makeloadingarea$('c

javascript - 需要更简单的方法来用 HTML 等价物替换嵌套的自定义标签

我正在寻找一种方法来将嵌套的自定义标签正确替换为HTML等价物。例如,假设我们有以下文本:Thisis{b:boldtext}应该变成:Thisisboldtext我知道我可以——而且可能应该——使用带有“粗体”类的跨度之类的东西而不是旧的“b”标签,但我坚持使用“b”是有原因的这个例子。我可能有嵌套标签:Thisis{b:boldtextand{i:italic}}应该变成:Thisisboldtextanditalic但是,我有这些正则表达式(我将其与replace()函数一起使用):/\{b:([\s\S]*?)\}/gm/\{i:([\s\S]*?)\}/gm然后结果会变成:T

javascript - 有没有一种方法可以构建包含来自包位置的单个文件的 Dojo 模块?

我有一个小型应用程序的以下构建配置文件:varprofile=(function(){varcopyOnly=function(filename,mid){/*..snip..*/};return{basePath:"../../src",releaseDir:"../dist",releaseName:"lib",action:"release",packages:['dojo','dijit',//'dojox','amd',{name:'lodash',location:'lodash',trees:[[".",".",/(\/\.)|(~$)|(vendor|test)/]]}

javascript - 我如何从这个 jsFiddle 动态添加一个延迟到 promise 中?

关于thisjsFiddle,我正在尝试动态添加一个在事件触发时创建的“延迟”,因此仅当所有延迟都已解决时才调用完成回调,包括后来添加的那些:相关代码:varpromises=[deferred1,...];varp=when.all(promises).then(function(){console.log('Alldone!!');//!trigger});promises.push(deferredFromEvent);//更新:欢迎使用Q或jQuery的建议,我正在寻找一个可行的 最佳答案 将您的固定promise视为一个独

javascript - 处理滚动条和 jquery .width() 方法

jQuery的.width()方法似乎没有考虑滚动条。这对我来说是有问题的,因为我想将一些child的宽度设置为等于他们parent的宽度。我使用了类似于以下的jQuery:$('#contentDiv').width($('#containerDiv').width())在这个例子中,#contentDiv是我想要调整大小的元素,我想将它设置为具有#containerDiv的宽度,这是它的父元素。我的问题是这切断了#contentDiv的一侧,如thisfiddle.中所示在我的实际代码中,我有几个使用jQuery调整大小的元素,它们都需要适合可滚动的div,所以只需将#conten

javascript - 有什么方法可以在大文件上加速 d3.csv 吗?

许多大型CSV文件可以使用例如压缩显着压缩压缩包。有什么方法可以通过减少需要通过互联网传输到浏览器中的javascript的数据量来加速大型CSV文件的D3。例如,如果我有一个30MB的CSV文件foo.csv压缩成一个9MB的foo.csv.gz文件,我可以传达较小的文件并调整D3以在执行其余操作之前解压缩它吗?d3.csv处理。 最佳答案 没有。D3不提供任何处理压缩文件的功能。您可以使用第三方库,例如JSZip,但是您将无法直接使用d3.csv。 关于javascript-有什么方

javascript - 使用 JavaScript 绘制超过 100k 个节点的组织结构图的最佳方法

谁能建议我如何绘制超过10万个节点的组织结构图,而不会遇到浏览器崩溃或页面无响应错误的问题。注意:它是一个二叉TreeMap,所以每个父节点只有两个子节点到目前为止我做了什么:1)使用googleChartsAPI绘制图表:失败:即使我在每个ajax调用上加载5k个节点,当节点限制超过20k时它也会失败2)Canvas和svg:使用d3.js:它在节点大小约为50-100时工作正常,但在加载20k或更多时失败。虽然它使用SVG构建图表,但主要缺点是管理节点路径所以请有人帮我弄清楚,所有js、canvas、svg都可以在小数据上正常工作,但都无法处理大数据大数据图表应该这样画。

javascript - 在 lodash.js 中,它会缓存 `.value()` 方法的结果吗?

例如,我有这样的代码(coffeescript):sortedLatLng=_(w).sortBy(x)->x.time.map(x)->[x.longitude,x.latitude].uniq((x)->x[0].toFixed(3)+","+x[1].toFixed(3))#keepthreedecimaltomergenearbypointsconsole.log(sortedLatLng.value())myFunction1(sortedLatLng.value())myFunction2(sortedLatLng.value())console.log(sortedLat

javascript - 包装在 promise JavaScript 泛型函数中

这个问题在这里已经有了答案:HowdoIconvertanexistingcallbackAPItopromises?(24个答案)关闭7年前。我如何用promise包装一个可以在内部具有同步/非同步功能的函数?我已经调用了下面的函数action[fn](req,res);在函数fn(在下面的例子中)运行可以有内部(我对每个函数使用动态调用)同步或像下面的例子那样异步,Howitsrecommendedtowrapitinpromise.Howtohandleerrorsifany...我使用nodeJS应用程序run:function(req,res,filePath){varwri