草庐IT

javascript - 当 promise 在 javascript 中产生时会发生什么?

没有找到完整的答案..当promise被yield时会发生什么?是这样的构造varp=newPromise()p.resolve(value)function*(){yieldp}相当于function*(){yieldvalue}?更新如何混合使用不同风格的异步编程,例如koa这样的框架?Koa中间件与生成器一起工作,但是有很多基于promise的好包(例如sequelize) 最佳答案 正如Felix所说,promise只是要产生的另一种值(value)。但是,有一种编写异步代码的风格,它以特定方式使用yieldedpromis

javascript - 当回调采用多个参数时如何 promise 一个函数

有什么方法可以在回调接受两个以上参数的情况下promisify一个函数?一个例子是node的fs.read,回调的三个参数是err、bytes和data。data参数没有传递给then函数,所以这个记录未定义:varfs=require('fs');varPromise=require('bluebird');varopen=Promise.promisify(fs.open);varread=Promise.promisify(fs.read);open('test.txt','r').then(function(fd){varbuffer=newBuffer(1024);read(

javascript - 当 div 在浏览器窗口中可见时运行脚本

当div在浏览器窗口中可见时,我需要运行一些JavaScript,例如,当它滚动到甚至重复时。我将如何去做呢?基本结构:CSS:div{float:left;height:500px;width:500px;margin:50px0;background:grey;}fiddle:http://jsfiddle.net/Q5BUe/1/ 最佳答案 与其他提供的问题/解决方案一样,这里是完整的实现...加载后,我们运行函数为可见的div分配相应的颜色。在jQuery滚动处理程序上,我们继续调用函数来分配新的背景颜色。http://js

javascript - 当浏览器模式为 IE9 时,如何从 JS 检测 IE10?

尽管浏览器模式设置,但当浏览器为IE10时,我需要仅使用普通javascript(无框架)进行检测。一些评论:-我确实需要检测浏览器,它不是检测功能的选项,因为目的是减轻浏览器错误。-我尝试了常见的方法(如UA字符串或功能检测)但没有成功,当我将浏览器模式切换到IE9时,可能暗示在IE10中的每个方面都消失了。 最佳答案 如果你想检测你正在使用的浏览器,IE有一个特殊的功能,称为条件编译-http://www.javascriptkit.com/javatutors/conditionalcompile.shtml要获取版本,您可以

javascript - 当我的动画完成时,transitionend 事件不会触发

我正在尝试使用jQuery在css动画完成时触发一个事件并且它基本上可以正常工作,但由于某种原因,直到我将鼠标移开时才会调用transitionend事件有问题的对象。方法如下:functionreplaceWithSearch(){varsearchWrapper=constructSearchBox("");$(this).addClass("animatedfadeOut");//cssanimation$(this).on('webkitTransitionEndotransitionendoTransitionEndmsTransitionEndtransitionend',

javascript - JQuery: "addClass doesn' t 按 id 工作”,当文档准备好时

我有一个问题,再试两天解决。尝试这样做:$.when($(document).ready).then(functionfunc_fold(){$("#collapsible_sidebar").addClass('folded');})像这样:$(document).ready(functionfunc_fold(){$("#collapsible_sidebar").addClass('folded');})也像这样:$(document).ready(function(){$("#collapsible_sidebar").addClass('folded');})尝试使用.hid

javascript - 当某些 dom 元素改变高度时的 jQuery 事件

当某些(任何一个)元素改变其自高度度时,有什么方法可以设置jQuery事件吗?我真的不知道怎么才能开火喜欢:$('body*').onHeightChange(function(){//dosomenthing}); 最佳答案 每当你做一些改变元素高度的事情时,触发一个事件。$("#somelement").slideDown().trigger("heightchange");现在你可以绑定(bind)到那个:$("body").on("heightchange",function(e){var$el=$(e.target);//

css - 当没有打开 Javascript 时。还有什么解决办法?

我正在做一个网站。我有一张图片,我在CSS中将其设置为display:none。我使用JavaScript来显示它并在页面加载完成后将其滑入。它运行良好。我想在禁用JS的情况下启动网站,看看会发生什么。我重新加载了网页,但图像根本没有显示。这是正常的,因为它已在CSS中设置为display:none。这是我的问题:解决这个问题的方法是什么?我想要一种情况,即使在浏览器中禁用了JS,用户仍然可以看到图像。此时我不希望图像滑入,但我希望它像网页上的任何其他内容一样加载和显示。 最佳答案 您可以检测JS是否已启用(一些类似Moderniz

javascript - 当 promise 被多次解决时会发生什么

如果多次拒绝/解决ES6promise,标准行为是什么?以下代码仅在GoogleChrome中被解析一次,这是所有浏览器的标准行为吗?newPromise(function(e){$('#button').click(function(){resolve();});});我看到一个promisepolyfill在尝试解决已经解决的promise时抛出异常。es6-promise的规范是否指定了这一点,或者不符合polyfill标准?更新抱歉,我刚刚意识到它不是polyfill,而只是Promise(非标准)的最小实现。 最佳答案 一

javascript - 当位置跨越第 180 条子午线时,如何使用 LocationRect.fromLocations() 正确获取边界框?

我正在使用v7BingMapsJavascript“控件”(我不知道为什么它被称为“控件”...)。我正在调用Microsoft.Maps.Map.setView({bounds:bounds})但它没有像我期望的那样工作。我有一组多边形,其点跨越第180条子午线。一个例子是新西兰岛屿的边界——其中一些位于180度经线以西,一些部分(查塔姆群岛)位于东经。当我用这些边界创建多边形并调用setView()时,mapwaaaaaay缩小。为什么?以及如何避免?Thispage提供问题的演示。这是代码。varmap,MM=Microsoft.Maps;functionshowMap(m){v