Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用jQuery .When .done

如何使用jQuery .When .done
EN

Stack Overflow用户
提问于 2013-03-24 02:39:11
回答 3查看 25.8K关注 0票数 7

我正在尝试在一个函数完成后运行另一个函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $.when(saveCanvas(canvas)).done(setWallPaper());

每个函数都可以独立运行,但是当我运行上面的代码时,它只运行第一个函数。

我需要改变什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-28 21:02:12

现在回过头来看,这似乎是它在jQuery中的工作方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function f1() {
	alert("function one");
}

$.when( f1() ).done(function() {
  alert("function 1 is done running function two");
});
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

注意:这与我在问题中发布的方法相同,所以基本上它应该是有效的。尽管jQuery可能在过去3年中发生了变化。最有可能的是函数被调用的问题。

票数 2
EN

Stack Overflow用户

发布于 2013-03-24 02:46:21

根据another SO question上的一条评论,$.when希望延迟对象作为参数。如果你没有传递任何东西,回调函数将被立即调用。

setWallPaper()看起来不工作是因为它实际上是在saveCancas(canvas)之前运行的吗?saveCanvas()实际上不是when期望的deferred object。要使其成为延迟对象,请将dfr = $.Deferred();添加到saveCanvas()函数的开头,并将return dfr.promise();添加到函数的末尾。有关更多详细信息,请查看this SO answer

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function saveCanvas(canvas)
{
    dfr = $.Deferred();
    //Your code
    return dfr.promise();
}

阅读更多:http://api.jquery.com/jQuery.when/

票数 9
EN

Stack Overflow用户

发布于 2013-09-30 06:52:34

另一个大胆的猜测是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$.when(saveCanvas(canvas)).done(function(){
    setWallPaper()
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15594567

复制
相关文章
Jquery中的done() fail() then() $when()到底是什么
有时为了省事,可以把done()和fail()合在一起写,这就是then()方法。
Daotin
2019/08/09
2.3K0
playbook中when的使用
在使用ansible编写playbook的过程中,我们发现在安装某服务时,例如部署fastdfs分布式存储时,有的机器需要启动tracker和storage两个服务,有的机器只需要启动一个服务即可,它们需要的配置不同,我们要根据不同的机器来做不同的判断,来分发不同的配置文件,这时就会用到when来做判断了,并且我们还要使用jinja2的循环条件控制语句,还要在ansible的清单文件中设置好变量。
dogfei
2020/07/31
6560
在用Mockito做单元测试时如何使用doAnswer…when
刚使用Mockito来做Java项目的单元测试时,对doAnswer…when的使用场合不怎么理解,查了Mockito的官方文档和网上的各种资料,感觉都说得不够清楚。后来自己用它在项目中做了些unit tests,终于弄明白了。
疯狂软件李刚
2020/06/24
12K0
SQL中的CASE WHEN使用
SQL中的CASE WHEN使用 Case具有两种格式。简单Case函数和Case搜索函数。 –简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数(WHEN 后还可以用 AND ,OR ) CASE WHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ THEN ‘女’ ELSE ‘其他’ END
javascript.shop
2019/09/04
2.3K0
jQuery 对AMD的支持(Require.js中如何使用jQuery)
AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一个可用的模块化 JavaScript 的解决方案。
李维亮
2021/07/09
3.5K0
mybatis的foreach、if、choose when使用
package org.sjframework.learn.mybatis.dao; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; import java.util.Map; /** * mybatis dao * <p> * no
gfu
2019/10/21
2.1K0
使用jQuery
jQuery概述 Write Less Do More(用更少的代码来完成更多的工作) 使用CSS选择器来查找元素(更简单更方便) 使用jQuery方法来操作元素(解决浏览器兼容性问题、应用于所有元素并施加多个方法) 引入jQuery 下载jQuery的开发版和压缩版 从CDN加载jQuery <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script> window.jQuery ||
用户8442333
2021/05/20
9980
使用GTD(Getting Things Done)打造整洁高效的办公环境
估计办公室混乱是我们男人的专利,整个办公室里没有落脚的空隙时才能体现出大忙人的状态,彰显男人的价值。下面这张图是我前几天从同事的办公室随手照的,已经把关键信息进行了马赛克处理。可以想像在这样的办公环境
申龙斌
2018/03/06
1.5K0
使用GTD(Getting Things Done)打造整洁高效的办公环境
JQuery学习—JQuery-Validation 使用
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/121266.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/19
4.6K0
解读Been There, Done That: Meta-Learning with Episodic Recall
最近在研究的线路就是: metal learning + episodic memory.
CreateAMind
2019/07/10
9700
SQL Case when 的使用方法
这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。 还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
大道七哥
2019/09/10
9220
Vue3.0中如何引入jQuery并使用
在使用vue框架开发的时候 ,是非常的方便的,但是在工作中 ,还是会有遇到对接jq的部分的接口,这个时候就需要在vue的界面里面引入jQuery并使用了
王小婷
2022/12/03
3.5K0
Vue3.0中如何引入jQuery并使用
Jquery使用小结
这周都在做前端页面的开发,用了Jquery知识比較多,方便以后使用。就做一个小总结吧。
全栈程序员站长
2022/07/10
5720
HDU 1039 Easier Done Than Said?
Easier Done Than Said? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O
Angel_Kitty
2018/04/08
7280
jQuery 效果使用
.hide()   隐藏匹配的元素。   .hide()     这个方法不接受任何参数。   .hide([duration][,complete])     duration       一个字符串或者数字决定动画将运行多久。     complete       在动画执行完时执行的函数。   .hide([duration][,easing][,complete])     duration       一个字符串或者数字决定
用户1197315
2018/01/19
6.4K0
点击加载更多

相似问题

JQuery when.done如何工作

25

jQuery .when().done()不工作

22

jquery $.when().done()是否等待所有$.ajax().done()完成?

110

AngularJS的jQuery的"$.when().done()“

10

.then()和.done()的jquery $.when()差异

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文