草庐IT

Promise方法

全部标签

javascript - 如何测试该方法是否已在 Jasmine 中调用?

我对监视Jasmine有点困惑。我有这样的代码,但我不确定如何测试它。varparams={param1:"",param2:"link",param3:"1",param4:"1"};varfunc=newmyFunction(params);func.doSomething();如何测试func.doSomething已被调用。这是我到目前为止写的测试describe("Library",function(){beforeEach(function(){});it("shouldincludecorrectparameters",function(){expect(params.p

Javascript:对象不支持方法 'freeze'

我正在尝试用Javascript创建一个枚举。使用的javascript代码是varFeatureName={"FEATURE1":1,"FEATURE2":2,"FEATURE3":3,"FEATURE4":4,"FEATURE5":5}Object.freeze(FeatureName);当方法Object.freeze(FeatureName)被调用时,它适用于除IE7和IE8之外的所有浏览器。还有其他选择吗? 最佳答案 JohnResig提供了另一种选择。我没有在你提到的浏览器中尝试过。试试看,然后告诉我们。http://e

javascript - Node.js Q promise ,可以使用 this() 为什么要使用 defer()?

我想做这样的事情:somePromiseFunc(value1).then(function(value2,callback){//insertthenextthen()intothisfunction:funcWithCallback(callback);}).then(function(dronesYouAreLookingFor){//Haveaparty}).done();它没有用。我无法让它工作。我被建议为此目的使用defer()。他们的owndocs说我们应该将deferreds用于回调式函数。虽然这令人困惑,因为他们著名的压平金字塔示例都是关于回调的,但是这个示例太抽象了

javascript - Bluebird promise 多个参数

我是Promises的新手,不知道如何解决这个问题:我正在做一个身份验证系统,我的第一个电话是检查数据库中的电子邮件。如果用户存在,则根据bcrypted密码检查密码...我将此库用于bcrypt:https://npmjs.org/package/bcrypt这与promises不兼容,所以我对以下签名使用“promisify”:compare(password,crypted_pa​​ssword,callback)。所以这是我的代码:varcompare=Promise.promisify(bcrypt.compare);User.findByEmail(email).then(

javascript - 使用 svg 设置属性的更简单方法?

我是SVG的新手,所以我为我的无知提前道歉。我创建了一个fiddle,只是把玩一些东西。http://jsfiddle.net/a46p8/varsvg=document.createElementNS('http://www.w3.org/2000/svg','svg');svg.setAttribute('width','200');svg.setAttribute('height','200');varline=document.createElementNS('http://www.w3.org/2000/svg','line');line.setAttribute('widt

javascript - 使用 Controller 初始化 Angular 服务的正确方法

我来自静态类型的面向对象背景(C#),并且一般来说是Angular和Javascript的新手。我正在尝试使用Angular和JQueryMobile构建一个应用程序,并且面临着服务行为不像单例那样的情况-即,即使它们已经在一个Controller中初始化一次,服务中的属性也没有存储任何状态传递到另一个Controller或服务时设置为。此外,当我尝试调试下面描述的代码时,我遇到了一些意外行为:我的设置:我正在使用JQueryMobile单页模板,将应用程序的所有页面作为同一html页面上的div,并且使用“href="#DivName”模式进行重定向应用程序的每个div(页面)都有一

javascript - 循环使用本地 promise ;

我正在尝试使用nativeES6promises进行异步循环它有点有效,但不正确。我想我在某个地方犯了一个大错误,我需要有人告诉我它在哪里以及如何正确完成vari=0;//createssampleresolverfunctionpayloadGenerator(){returnfunction(resolve){setTimeout(function(){i++;resolve();},300)}}//createsresolverthatfulfillsthepromiseifconditionisfalse,otherwiserejectsthepromise.//Usedonl

javascript - 你能帮忙澄清一下Javascript原型(prototype)继承方法调用吗?

在这段代码中:varFruit=function(){}Fruit.prototype={color:function(){console.log('Fruitcolor...')}}varApple=function(){}Apple.prototype=newFruit()Apple.prototype.constructor=Applevara=newApple()Apple.prototype=null//thequestion!!!a.color()当Apple.prototype被设置为null时,为什么实例a仍然可以调用color方法? 最佳答

javascript - 未指定所需上下文 `router`。查看 `RoutingContext`的render方法

我的应用程序是带有react-router的ES6React应用程序。我想在一小段延迟后将用户重定向到另一个页面。这是我的React组件:importReactfrom'react'import{Navigation}from'react-router'exportdefaultclassComponentextendsReact.Component{render(){return(Componentcontent)}componentDidMount(){setTimeout(()=>{//TODO:redirecttohomepageconsole.log('redirecting

javascript - 如果 then 处理程序不返回任何内容,链式 Promise 的解析值是多少?

如果then处理程序没有return语句,则生成的链式promise在bluebird中采用值undefined。但是我看不到它在Promises/A+或任何地方指定的任何地方?可以指望这种行为吗?这是一个测试程序:varPromise=require('bluebird');varp=Promise.resolve('test');p.then(function(s){console.log('s1='+s);//noreturn}).then(function(s){//bluebirdprints"undefined".isthisspecifiedbyastandard?con