草庐IT

Promise方法

全部标签

javascript - 如何通过 Jasmine spy 将被拒绝/失败的 promise 返回到单元测试中的 Angular Controller

我正在使用jasmine来测试我的AngularController。我在.then(successCallback,errorCallback)中捕获错误和成功虽然它在实时功能的基础上运行良好,但我很困惑如何编写一个spy来返回错误,因为它总是在successCallback()中被捕获以下是Controller:-angular.module('myApp').controller('LoginCtrl',function($scope,$location,loginService,SessionService){$scope.errorMessage='';$scope.logi

javascript - 在 Javascript 中检查对象是否为数组的最佳方法是什么?

假设我有这样一个函数:functionfoo(bar){if(bar>1){return[1,2,3];}else{return1;}}假设我调用了foo(1),我怎么知道它是否返回一个数组? 最佳答案 我使用这个函数:functionisArray(obj){returnObject.prototype.toString.call(obj)==='[objectArray]';}就是这样jQuery.isArray已实现。查看这篇文章:isArray:Whyisitsobloodyhardtogetright?

javascript - 类型错误:无法调用 null 的方法 'getContext'(匿名函数)

我是这方面的初学者,之前没有真正使用过任何JavaScript,所以我希望你能帮助我。我制作了一个Canvas,让用户可以使用单选按钮选择形状和颜色,然后将其绘制到Canvas上。我还添加了一个复选框,其中包含为所选颜色添加渐变的选项。这是程序:http://people.dsv.su.se/~caak1743/Canvas/canvas.html现在我不想让形状可以在Canvas区域周围拖放。而且我发现了一个代码,我认为可以对其进行更改以在我的程序中工作,但我不断得到:类型错误:无法调用null的方法“getContext”在里面(匿名函数)对于行:varctx=canvas.get

javascript - 基于 promise 的函数的内存

如何内存一个基于promise的函数?函数的直接内存是否足够?functionfoo(){returnnewPromise((resolve,reject)=>{doSomethingAsync({success:resolve,fail:reject});});};这就够了吗?varfooMemoized=memoize(foo);注意:此问题已更新以删除延迟的反模式。 最佳答案 是的,这就足够了。Promises是简单的返回值,这是它们的巨大优势-与回调相比,后者的内存代码会很糟糕。如果您的promise库确实支持某种取消,您可

javascript - 在没有性能缺陷的情况下打包 JavaScript 代码的最佳方法是什么?

我正在寻找一种为iPhone压缩JavaScript代码的方法。有没有一种方法可以避免在小型且相当慢的设备上使用大量CPU时间? 最佳答案 使用YUICompressor 关于javascript-在没有性能缺陷的情况下打包JavaScript代码的最佳方法是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/114860/

javascript - javascript 中的 Object.create 方法

作为javascript的初学者,我试图从这里理解Object.create()方法https://developer-new.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/create在示例代码中,第18行。创建了一个访问器属性,并将writable设置为true。我还读到可写仅适用于数据描述符。尝试运行,varo=Object.create(Object.prototype,{//fooisaregular"valueproperty"foo:{writable:true,configurable

javascript - Jquery.each() 和 Array.prototype.forEach() 方法的区别

这个问题在这里已经有了答案:jQuery.eachimplementationdiffersfromnativeArray.forEach(3个答案)关闭9年前。Jquery.each()和Array.prototype.forEach()方法之间有什么区别吗,因为array.forEach()方法也可用于循环具有length属性的类数组对象。我看到的唯一区别是参数的放置,它们还有什么不同?Ifoundthis:varobj={one:1,two:2,three:3,four:4,five:5};jQuery.each(obj,function(i,val){$("#"+i).appe

javascript - 如何将带有比较运算符的箭头函数用于 reduce 方法?

将ESLint与Airbnb规则结合使用,我无法使用带有比较运算符的reduce方法。在下面的代码中,名为data的数组包含对象,每个对象都有一个名为id的属性。ESLint抛出的错误消息是:constmaxId=data.reduce((prev,current)=>{returnprev.id>current.id?prev.id:current.id;});ESLintError:arrow-body-style/Unexpectedblockstatementsurroundingarrowbody.constmaxId=data.reduce((prev,current)=>

javascript - IE 错误,对象不支持此属性或方法

functioncharCount(){$.doTimeout('poll',150,function(){messageVal=$('#messageLabeltextarea').val();messageLength=messageVal.length;//IEBREAKSHERE$('#messageLength').html(messageLength+'/140')if(messageLength>140){$('#messageLength').not('.inv').addClass('inv')}else{$('#messageLength.inv').removeC

javascript - 在 Javascript 中解析日期的最简单方法

我想解析用户选择的日期:vards="11/08/2009";我用vard=newDate(ds);它给了我2009年11月8日。但我需要的是2009年8月11日。解析日期最简单的方法是什么? 最佳答案 网上有很多库和复制粘贴的javascript片段,但这里还有一个。functiondateParse(s){varparts=s.split('/');vard=newDate(parts[2],parts[1]-1,parts[0]);returnd;} 关于javascript-在J