草庐IT

Promise方法

全部标签

javascript - 使用控制台查看对象的可用方法?

有什么方法可以使用控制台查看JS对象上可用的方法吗?我在想这样的事情:>varmyArray=[1,2,3];undefined>myArray[1,2,3]>myArray.logme=function(){console.log(this);};function(){console.log(this);}>myArray[1,2,3]我第二次键入myArray时,我想看到logme()方法现在可用的事实。我想知道答案,以便更轻松地探索不熟悉的JS对象。 最佳答案 你可以使用console.dir(myArray);你会得到一个像

javascript - setTimeout() 方法中的 clearTimeout() 在 JS 中不起作用

clearTimeout()insidesetTimeout()方法在JavaScript中不起作用varc=0;vart;functiontimedCount(){document.getElementById('txt').value=c;c=c+1;if(c==5){clearTimeout(t);}t=setTimeout(function(){timedCount()},1000);}jsFiddle 最佳答案 您需要阻止执行其余代码,实际上您是在清除setTimeout后重新声明t。Fiddlevarc=0;vart;f

javascript - 在 Angular JS 中处理模式最简单的方法是什么?

问题:如何在AngularJSController中管理一堆模态框?我将它们放在我View的底部并使用http://angular-ui.github.io/bootstrap/#/modal但我最终得到了大型html模板(有效)但感觉效率低下。我尝试过的:来自UI-Bootstrap的$dialog(屁股上的痛苦)使用UI-Bootstrap的模态通过ng-include存储在模板中的模态modals放在Controller中我View的底部这感觉就像我错过了什么。有什么指点吗?编辑:我做了很多搜索并找到了一个脚本,然后对其进行了一些升级:你的模式是外部模板它们也在您点击按钮的范围内

javascript - 哪个是定义函数的更好方法?

这个问题在这里已经有了答案:varfunctionName=function(){}vsfunctionfunctionName(){}(41个回答)关闭9年前。它们之间有什么区别吗?我一直在使用这两种方式,但不知道哪种方式更好,哪种方式更好?functionabc(){//Codecomeshere.}abc=function(){//Codecomeshere.}定义这些函数有什么区别吗?像i++和++i这样的东西?

javascript - 将回调变成 promise

我正在使用googlemapsapi,这段代码异步返回地点列表。我怎样才能调用这个函数并让它在收集完所有数据后触发一些东西?到目前为止,这是我尝试过的-$.search=function(boxes){functionfindNextPlaces(place_results,searchIndex){vardfd=$.Deferred();if(searchIndex 最佳答案 要回答标题所暗示的问题,“将回调转化为promise”,简单的答案是使用一个非常简单的“promise模式”(我的术语),其中Deferred的.resol

javascript - 如何捕获 promise 运行时 Javascript 错误?

我目前正在实现一个基于PDF.js的PDF查看器,作为其中的一部分,我了解了promise对象。我还了解到运行时错误不会自动显示在调试控制台中:PDFJS.getDocument(...).then(function(pdfDocument){alert(UndefinedVariable);//Notshowninconsole!},function(error){console.log("Erroroccurred",error);});除了按照http://www.asyncdev.net/2013/07/promises-errors-and-express-js/中的描述添加

javascript - ECMAScript Promise.all 方法适用于 jQuery.Deferred。为什么?

我正在研究JavaScript中的Promises。我很感兴趣能否将ECMAScriptPromises与其他实现结合起来,例如jQuery$.Deferred。当Promises.all与jQuery$.Deferred一起正常工作时,我感到很惊讶。我试图在jQuery源代码和CommonJSPromises/A规范中找到答案,但我仍然误解了为什么这段代码按我预期的方式工作(在10秒后执行console.log,而不是5秒):varpromise=newPromise(function(resolve,reject){setTimeout(function(){resolve();/

javascript - Select2 each2 方法 - 它是如何工作的?

我正在查看Select2(sourcecode)并找到了each2方法原型(prototype):$.extend($.fn,{each2:function(c){varj=$([0]),i=-1,l=this.length;while(++i我的问题是-这种方法是如何工作的?我的意思是-为什么while循环只有条件,没有语句部分?我真的很想了解此方法的流程。 最佳答案 当您将表达式置于条件中时(例如:if(i)、if(i==null)、if(++i)、if(i)),表达式在其“检查”之前得到评估,即true或false.实例:我们

javascript - 如何理解这段 Promise 代码?

'usestrict';Promise.resolve(()=>'John').then((args)=>{console.log(args);thrownewError('ops')}).catch((ex)=>{console.log(ex)}).then(()=>{thrownewError('ups')console.log('Doe')})我认为console.log(args);应该输出'John',但是当我运行这段代码时,输​​出是[[Function]]所以我很困惑。 最佳答案 Promise.resolve将使用您

javascript - 为什么来自 Promise `.then` 方法的回调是一种反模式

我在StackOverflow上看到了人们建议为AngularJS服务提供回调函数的答案。app.controller('tokenCtrl',function($scope,tokenService){tokenService.getTokens(functioncallbackFn(tokens){$scope.tokens=tokens;});});app.factory('tokenService',function($http){vargetTokens=function(callbackFn){$http.get('/api/tokens').then(functionon