草庐IT

Promise方法

全部标签

javascript - 修改 DOM 元素和限制回流的最有效方法是什么?

当使用具有潜在大型JS库、View模板、验证、ajax、动画等的非常动态的UI(想想单页应用程序)时......有哪些策略可以帮助最大程度地减少或减少浏览器花费的时间回流焊?例如,我们知道有很多方法可以完成DIV大小的更改,但是是否有应该避免的技术(从回流的Angular来看)以及浏览器之间的结果有何不同?这是一个具体的例子:给出了一个简单的示例,其中包含3种不同的方法来在调整窗口大小时控制DIV的大小,应该使用哪种方法来最大程度地减少回流?http://jsfiddle.net/xDaevax/v7ex7m6v///Method1:PureJavascriptfunctionresi

javascript - 使用 setInterval 调用时,对象方法失去其作用域

有没有办法像下面的例子一样打印出数组players的值?几个小时以来,我一直在努力寻找解决方案...functionRoom(name,id,owner){this.players=[];this.movementz=function(){console.log(this.players);}}我正在使用setInterval调用该函数,如下所示:setInterval(room.movementz,1000); 最佳答案 这里的问题是关于this对象:创建你的对象并手动调用它的movementz方法会起作用,因为this元素是对象

javascript - 从 javascript 对象中剥离方法

在一个repo协议(protocol)中,我看到了一行。varfoo=JSON.parse(JSON.stringify(foo));我认为这是试图从对象中剥离任何方法。我真的看不到它在做任何其他事情。有没有更有效的方法来尝试这个?Node是否对此进行了优化? 最佳答案 在codecontext您现在已经透露,此技术正用于制作传递给函数的对象的副本,以便对该对象的修改不会修改原始对象。这是您链接的上下文://routereply/errorthis.connection.on('message',function(msg){varm

javascript - 在下一个请求之前等待 $http promise

我正在开发一个angularJS应用程序,这是我使用这个框架的第一个网站。在我的应用程序中,我需要在for循环内进行$http调用。在下一次迭代之前的循环中,我想等待上一次调用的响应。什么是最好和最简单的方法来做到这一点。我已经尝试使用回调,$q.all(),.then在所有这些中只有最后一个请求正在通过。请帮忙。注意:我通过$http调用的API无法对请求进行排队。编辑:我已经尝试了以下两种方法,在这两种情况下,只有最后一个请求被成功发出。你能告诉我我在这里做错了什么吗?方法一:varpromiseArray=[];for(vari=0;i方法二:varpromises=[];for

javascript - 如何使用 ^ :export, 标记使用 `reify` 创建的方法,以便 Closure 编译器不重命名它们?

当使用reify创建JavaScript对象时,如何使用^:export标记方法,以便GoogleClosure编译器不会在高级模式下重命名它们?例如:(reifyObject(foo[this]...)(bar[this]...))我试过了(reifyObject(^:exportfoo[this]...)(^:exportbar[this]...))但这似乎没有帮助,并且名称仍然会随着高级优化而改变。如果没有办法做到这一点,除了创建一个普通的js-obj并使用set!之外,我该如何使用方法构造一个JavaScript对象将函数设置为属性(我不确定如何防止高级优化破坏事物)?

javascript - 是否有针对强类型语言的 promise 规范?

Promises/A+spec非常适合实现promises,但它大量使用了Javascript的弱类型。是否有针对C#等强静态类型语言设计的Promises规范? 最佳答案 许多语言都有promises,它们是并发的有用且基本的构建block。他们中的许多人都将promise作为其基类库的一部分内置。C#的TaskScala的Future[T]Java8CompletableFuture.Python的Future.(虽然不是静态类型)。Haskell的IOa.clojure的promise.达特的Future.C++的std::f

Javascript日期格式化方法

遇到这个问题:varnow=newDate();vartimestamp=now.format("dd/mm/yyyyHH:MM:ss")+"("+GetLoggedUserName()+")";我得到:对象不支持属性或方法“格式”虽然在其他项目上我确信这在以前有效.. 最佳答案 format()函数不是javascript中Date对象的标准。您很可能在运行日期格式库(例如moment.js)的应用程序中看到过这种情况。http://momentjs.com/moment().format('MMMMDoYYYY,h:mm:ssa

javascript - String 和 Array 泛型方法将在未来被弃用

在下面的链接(MDN站点)上它说“字符串泛型是非标准的,已弃用并且将来可能会被删除。请注意,如果不使用下面提供的填充程序,您不能跨浏览器依赖它们。“他们所指的方法是否是他们在该声明下方提供的垫片中列出的方法?这是我见过的唯一提到短语“字符串泛型”的地方,所以让我很困惑。对于数组泛型也有同样的问题,因为该站点也提到了类似的情况。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#String_generic_methodshttps://developer.mozi

javascript - 有没有一种简单的方法可以知道哪一行 jQuery 脚本称为事件?

我正在开发一个drupal模块(无关),我想重新创建一个javascript/jQuery事件。如果我使用chrome并转到事件监听器,我会看到在第57行调用了jQuery脚本,但这并没有真正帮助,因为:脚本被缩小且不可读我想知道是哪一行jQuery使用称为事件的脚本(什么选择器和什么它的函数体),而不是jQuery脚本本身要找到文件并不容易搜索合适的选择器,因为有100个已加载的javascript文件感谢drupal和它的安装模块。原因是我想重新创建这个(可能是ajax)调用:那么有人知道像chrome插件之类的技巧吗?它可以为我节省很多时间。 最佳答案

javascript - Angular Run Block - 使用 UI-Router $stateProvider 来解析 Promise

UI-Router不同于Angular的ngRoute。它支持普通ngRoute可以做的所有事情以及许多额外的功能。我正在将我的Angular应用程序从ngRoute更改为UI-Router。但我不太清楚如何以编程方式注入(inject)resolve函数-我在Controller和config之外使用的代码片段。因此,使用标准Angular的ngRoute我可以在Angular运行中动态注入(inject)我的resolvepromiseblock:app.run(function($route){varroute=$route.routes['/'];route.resolve=r