草庐IT

Promise方法

全部标签

JavaScript 对大写字母的排序方法处理

注意到JavaScript的sort()方法可能有些奇怪。给定以下数组:vararr=['Aaa','CUSTREF','Copyatemplate','CopyofStatementsmm','Copy1ofDefaultEmailTemplate','Copy11','Cust','Statements','zzzz'];在此数组上调用排序:console.log(arr.sort());产量:["Aaa","CUSTREF","Copyatemplate","CopyofStatementsmm","Copy1ofDefaultEmailTemplate","Copy11","C

javascript - AngularJS $promise then() 数据未定义

我正在尝试将数据分配给$scope变量。在我的$promise.then()函数内它显示正确但在函数外它显示为未定义。以下是我的Controller代码:angular.module('testSiteApp').controller('TestController',function($scope,Tests){$scope.test=Tests.get({id:1});$scope.test.$promise.then(function(data){$scope.tasks=data.tasks;console.log($scope.tasks);});console.log($s

javascript - 使用 Bluebird.js 和 Twitter 流的 promise 和流

我是Promises和Node的新手,对在流中使用promises感到好奇。我可以promise一个流吗?使用Bluebirdjs和Twit模块我有以下内容:varTwit=require('twit')varPromise=require("bluebird");varT=newTwit({consumer_key:process.env.CONSUMER_KEY,consumer_secret:process.env.CONSUMER_SECRET,access_token:process.env.ACCESS_TOKEN,access_token_secret:process.e

javascript - 结合两个 promise

我是JavaScript和promises的新手,老实说,我并不完全理解promises是如何工作的,所以我需要一些帮助。我正在使用GoogleCloudMessaging将通知从我的网站推送给我的用户。当用户收到通知并点击它时,它会打开一个存储在IndexedDB中的URL。importScripts('IndexDBWrapper.js');varKEY_VALUE_STORE_NAME='key-value-store',idb;functiongetIdb(){if(!idb){idb=newIndexDBWrapper(KEY_VALUE_STORE_NAME,1,funct

javascript - Vue debounce 一个方法?

我知道Vue.js具有内置的功能来消除输入字段的抖动。我创建了一个slider来触发一个不使用输入字段的方法,我想知道我是否可以利用方法内部的去抖动功能。除了简单地向输入添加去抖动之外,是否有可能使用此功能?还是我需要为此编写自己的功能?我刚刚试过做这样的事情,但它似乎不起作用:this.$options.filters.debounce(this.search(),2000); 最佳答案 对于任何想知道如何做到这一点的人。我通过使用我发现的一个很棒的小片段修复了这个问题:我的数据中的属性timer:0去抖动功能//clearsth

javascript - 从对象中获取 jquery 中选定选项的正确方法

我在StackOverflow上看到并在谷歌上搜索了从中获取所选文本的最常用方法。jquery的元素是这样的$("#cboId:selected").text()我拥有的不是id,而是一个对象。我有一个对象,说varmyCombo=$("#cboId");来自较早的一段代码。我这样做是为了获得选定的文本,但是很难看:$("#"+myCombo.attr('id')+":selected").text();有没有更简洁的方法来做到这一点? 最佳答案 varselectedText=$(":selected",myCombo).text

javascript - 对于不区分大小写的 jQuery :contains selector?,有什么方法可以加快此解决方案的速度

我找到了thissolution对于StackOverflow上不区分大小写的jQuery:contains选择器。它工作得很好,但它是以性能为代价的。还有其他人觉得这个解决方案有点慢吗?我正在使用:contains选择器来搜索表格。用户在文本框中键入搜索字符串。对于每次击键,它都会在表中搜索该字符串,并通过:contains选择器仅显示包含该字符串的行。在实现不区分大小写的解决方案之前,此搜索快速而活泼。现在有了这个解决方案,它会在每次击键后短暂锁定。关于如何加快此解决方案的任何想法? 最佳答案 我在Google上找到了另一种不区

javascript - 我可以使用 jQuery.extend 来模拟方法重载吗?

我对jQuery非常熟悉。我正在尝试为自己的目的编写通用方法。下面是一个示例:$.extend({add:function(a,b){returna+b;},add:function(a,b,c){returna+b+c;}});上述情况是否可能?我可以使用相同的扩展程序名称并传递不同的参数,例如方法重载吗? 最佳答案 您正在尝试执行某些语言中调用的某种类型的方法重载。JavaScript不支持这种方式。JavaScript非常通用,可以让您以不同的方式实现这种功能。对于您的特定示例,您的add函数,我建议您使用arguments创

javascript - JavaScript 中数字方法的奇怪语法

看看下面的代码:Number.prototype.isIn=function(){for(vari=0,j=arguments.length;i为什么当它是一个变量时,代码可以正常工作,但当它是一个数字字面量时,却失败了?而且,奇怪的是,为什么下面的行有效?console.log((2).isIn(1,2,3,4,5));//在上面的行中,我基本上将文字括在括号中。 最佳答案 这是一个语法错误,因为您代表的是一个数字。字符串可以这样工作,但数字不行,因为紧跟在数字后面的句点表示十进制值。.之后的字符导致错误。

javascript - 设置输入的 "type"属性不适用于 jQuery attr() 方法

我调查了之前的问题,但他们似乎没有回答我的问题。在我的真实代码中,我正在动态创建一个表单并向其添加两个按钮,一个用于提交,另一个用于其他功能。为此,我将一个按钮的“类型”属性设置为“提交”,另一个设置为“按钮”。问题是在Chrome中,两个按钮都会提交表单。表单代码:form=$(document.createElement('form')).attr('method','get').attr('action',defaults.action).appendTo(object);按钮代码:form.append($(document.createElement('div')).attr