extjs新手求解关于extjs的TaskMgr中run传函数如何传参的问题

桑汤奈伊伏 2016-09-02 10:15:39
有个需求要修改很久以前的工程,前端用的是extjs3.2,现学现卖就开始改了。然后就遇到了这么一个问题。
功能描述:写的是弹出一个窗口,窗口上会有倒计时,倒计时结束后就调用answerPhone方法。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ExtJs</title>
<meta charset="GBK">
<link href="ExtJs/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="ExtJs/ext-base.js"></script>
<script type="text/javascript" src="ExtJs/ext-all-debug-w-comments.js"></script>

</head>
<body>
<div>
<script type="text/javascript">
Ext.MessageBox.show({
title: '倒计时提醒',
msg: '这是一个倒计时',
//buttons: Ext.MessageBox.OK,
buttons:{"ok":"知道了"},
animEl: 'mb9',
closable : false,
width : 300,
progress : true,
progressText: '5秒后将xxx',
animateTarget: 'bt4',
fn: answerPhone
//icon: Ext.get('icons').dom.value
});

var timeLeft = 5;
var countDownTask = {
run:countDownFunc(),
interval:1000
};
function countDownFunc(){
console.log("fuck" + timeLeft);
if(timeLeft <= 0){
Ext.MessageBox.updateProgress(1, "倒计时结束");
Ext.MessageBox.buttons = false;
//简单延迟后关闭窗口
setTimeout(function(){Ext.MessageBox.hide()}, 500);
//终止轮询任务
Ext.TaskMgr.stop(countDownTask);
answerPhone();
}
else{
timeLeft--;//注意在newAgent的源文件的头中重置该值
Ext.MessageBox.updateProgress((5-timeLeft)/5, timeLeft+'秒之后将xxxx');
}
}
Ext.TaskMgr.start(countDownTask);

var answerPhone = function(){
console.log("倒计时后调用的函数。");
};

</script>
</div>
</body>
</html>

这段代码运行是没有问题的,但是当我把
    var countDownTask = {
run:countDownFunc,
interval:1000
};

改为
    var countDownTask = {
run:countDownFunc(),
interval:1000
};

countDownFunc就只会执行一次,然后会报错, Uncaught TypeError: Cannot read property 'apply' of undefined。

一共两个问题:
1.为什么加了括号就只会执行一次,然后报错?
2.那么不能加括号,如果countDownFunc是设计为要传参的函数,但是不能写成run : countDownFunc(xxx)的形式,那我怎么才能实现传参?(实际上不能传参就定义一个全局变量去操作就行了,但是就是想问问)
...全文
188 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文研究了采用非正交多址接入(NOMA)技术的节能多无人机多接入边缘计算系统,通过Matlab代码实现仿真与优化。该系统旨在提升多无人机环境下边缘计算的资源利用效率和能量效率,解决多用户接入冲突与计算任务卸载的能耗问题。文中深入探讨了NOMA技术在无人机通信中的应用机制,利用功率域复用支持多用户并发接入,并通过联合优化算法对无人机飞行轨迹、任务卸载决策及无线资源分配进行协同优化,以最小化系统总能耗的同时保障服务质量。研究内容涵盖系统模型构建、非凸优化问题的数学建模、高效求解算法的设计,以及详细的仿真结果分析,充分验证了NOMA技术在提升多无人机边缘计算系统性能方面的有效性与优越性。; 适合人群:具备通信、计算机或自动化等相关专业背景,熟悉Matlab编程,从事无人机通信、边缘计算或资源优化研究的研究生及科研人员。; 使用场景及目标:①为多无人机协同边缘计算系统的设计与能耗优化提供理论依据和技术参考;②通过提供的Matlab代码实现,便于研究人员复现核心算法、验证模型的有效性,并在此基础上进行二次开发与性能改进; 阅读建议:此资源以Matlab代码为核心载体,建议读者结合通信原理、优化理论与无人机网络知识,深入理解NOMA的接入机制、功率分配原理以及轨迹与资源的联合优化策略,并动手调试代码以掌握系统仿真的完整流程。

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧