jjzjj

deferred

全部标签

javascript - 我如何从这个 jsFiddle 动态添加一个延迟到 promise 中?

关于thisjsFiddle,我正在尝试动态添加一个在事件触发时创建的“延迟”,因此仅当所有延迟都已解决时才调用完成回调,包括后来添加的那些:相关代码:varpromises=[deferred1,...];varp=when.all(promises).then(function(){console.log('Alldone!!');//!trigger});promises.push(deferredFromEvent);//更新:欢迎使用Q或jQuery的建议,我正在寻找一个可行的 最佳答案 将您的固定promise视为一个独

javascript - jquery deferred 的时间问题

这个问题是notasynchronousfunctionexecutedasjQueryDeferred的精心提炼版本.我们有2个jsfiddle:http://jsfiddle.net/XSDVX/1/-尽管调用了notify()函数,但此处未触发进度事件。http://jsfiddle.net/UXSbw/1/-这里进度事件按预期触发。唯一的区别是一行代码:setTimeout(dfd.resolve,1);对比dfd.resolve();问题是:Howis.thencatchingthe.notifythatiscalledbeforethiscallbackreturnswhe

javascript - Q.defer() 和 Promise() 的区别

我试图理解为什么以下代码与Q.defer()和Promise()的行为不同Case1:WhenI'musingQ.defer()getDocument(id).then(function(response){console.log('infirstthen')return'fromtwo';}).then(function(response){console.log(response)});vargetDocument=function(){varb=Q.defer();b.resolve('fromgetDocument');//herewilldosomeasyncoperatio

javascript - JQuery 中的 "<script defer>"hack 发生了什么?

几年前DeanEdwards给我们带来了thisworkarounddocument.onload问题。解决方案的IE版本涉及将此片段附加到文档中:;Dean也坚信这是他能找到的最接近完美的解决方案,并认为任何涉及onreadystatechange属性的解决方案都不可靠(请参阅评论)。Subsequentrefinements在他的解决方案中仍然涉及某些版本的并且大多数JS框架都实现了它,包括jQuery。今天,我正在仔细阅读JQuery1.4.1的源代码,但找不到它。它是在哪一点下降的,为什么? 最佳答案 它在jQuery1.2

javascript - 在 Dojo Deferred 解决之前我如何阻止?

我知道DojoDeferred的推荐用例是使用dojo.when(def)或def.then()并在解析Deferred时提供回调。但是,有时我会遇到这样的情况,我真的需要等待Deferred完成才能继续当前线程。这是一个示例(完整示例位于http://jsfiddle.net/DG3Ax/2/)functiongetSomething(){vardef=getSomeDeferred();def.then(function(result){dojo.place("def.then()="+result+"","output");});returndef.gimmeTheResultN

javascript - 然后jquery多个deferreds

我在使用jQuery同步加载脚本和执行脚本时遇到问题。我所拥有的看起来与此类似://LoadLibrariesin'when'$.when(loadJSFile("lib1.js"),loadJSFile("lib2.js")loadJSFile("lib3.js")).then(function(){//LoadJSfilesthatusethelibraryfilesloadJSFile("file1.js");loadJSFile("file2.js");loadJSFile("file3.js");//needstoreturndeferredobject...}).then(

javascript - 有没有一种方法可以创建在加载 Google Maps Javascript API 时解析的 promise ?

应该加载GoogleMapsJavascriptAPIthisway:functioninitMap(){console.log('loaded');}如果我必须回答我的问题,我会这样做:vargoogleAPILoadedPromise=Promise.pending();functioninitMap(){googleAPILoadedPromise.resolve();}googleAPILoadedPromise.promise.then(function(){console.log('loaded');});但是延迟已被弃用并且可能被视为反模式,至少在bluebird中是这样

javascript - 如何将这个延迟风格的 promise 转换为 ES6 风格的 promise

请参阅新手错误#4:在NolanLawson中使用“延迟”的文章:Wehaveaproblemwithpromises(顺便说一句很棒的帖子!),我尽量不再使用延迟风格的promise。最近我遇到了一个实际的例子,我不知道如何不以延迟的方式编码,所以我需要一些建议。这是一个例子,一个Angular工厂:functionConfirmModal($q,$modal){return{showModal:function_showModal(options){var_modal=$modal(options)vardeferred=$q.defer()_modalScope.confirm=

javascript - 我如何解决 AngularJS 单元测试中的 promise

我正在使用基本的karma/jasmine设置来测试我的Angular代码。这是我的测试:var$controllerConstructor,ctr,mockSuperheroData,scope,deferred,q;describe('maincontroller',function(){var$controllerConstructor,ctr,mockSuperheroData,scope,deferred,q;beforeEach(inject(function($controller,$rootScope,$q){scope=$rootScope.$new();$contr

javascript - 避免延迟反模式

这个问题在这里已经有了答案:WhatistheexplicitpromiseconstructionantipatternandhowdoIavoidit?(3个答案)关闭7年前。我有一些看起来像这样的代码:functionfoo(){vardeferred;deferred=q.defer();doSomethingAsync().then(function(result){varresultTransformed=doSomethingSynchronousToTheResult(result);deferred.resolve(resultTransformed);});retu