js暂停函数

//js暂停函数   
function Pause(obj,iMinSecond){
if (window.eventList==null) window.eventList=new Array();
var ind=-1;
for (var i=0;i<window.eventList.length;i++){
if (window.eventList[i]==null) {
window.eventList[i]=obj;
ind=i;
break;
}
}
if (ind==-1){
ind=window.eventList.length;
window.eventList[ind]=obj;
}
setTimeout("GoOn(" + ind + ")",iMinSecond);
}

//js继续函数
function GoOn(ind){
var obj=window.eventList[ind];
window.eventList[ind]=null;
if (obj.NextStep) obj.NextStep();
else obj();
}


//使用方法很简单:


Java 代码
function testJsStop(){
alert("1");
Pause(this,3000);
this.NextStep=function(){
alert("2");
}
}



-----------------------------------------------------------


function pause(numberMillis) {
var dialogScript =
'window.setTimeout(' +
' function () { window.close(); }, ' + numberMillis + ');';
var result =
// For IE5.
window.showModalDialog(
'javascript:document.writeln(' +
'"<script>' + dialogScript + '<' + '/script>")');
/* For NN6, but it requires a trusted script.
openDialog(
'javascript:document.writeln(' +
'"<script>' + dialogScript + '<' + '/script>"',
'pauseDialog', 'modal=1,width=10,height=10');
*/
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Generator函数是ES6中的一种特殊函数,可以被暂停和恢复执行,可以生成一个迭代器对象。Generator函数使用function*关键字声明,内部使用yield语句来暂停函数执行并返回一个值,同时可以使用next()方法恢复函数执行并传入一个值作为上一个yield表达式的返回值。 下面是一个简单的Generator函数示例: ```javascript function* myGenerator() { yield 'apple'; yield 'banana'; yield 'orange'; } const iterator = myGenerator(); console.log(iterator.next().value); // 输出:'apple' console.log(iterator.next().value); // 输出:'banana' console.log(iterator.next().value); // 输出:'orange' console.log(iterator.next().value); // 输出:undefined ``` 在上面的示例中,myGenerator函数使用yield语句来暂停函数执行并返回一个值。当调用next()方法时,函数会从上一个yield语句处恢复执行,并将传入的值作为上一个yield表达式的返回值。当函数执行到最后一个yield语句时,再调用next()方法会返回一个value属性为undefined的对象,表示生成器已经结束。 Generator函数可以用于异步编程,可以使用yield语句暂停异步操作的执行,等待异步操作完成后再恢复执行。下面是一个简单的异步操作的Generator函数示例: ```javascript function* myAsyncGenerator() { const response = yield fetch('https://jsonplaceholder.typicode.com/todos/1'); const json = yield response.json(); console.log(json); } const iterator = myAsyncGenerator(); const promise = iterator.next().value; promise.then(response => iterator.next(response).value) .then(json => iterator.next(json)); ``` 在上面的示例中,myAsyncGenerator函数首先使用yield语句暂停函数执行并返回一个promise对象,等待异步操作完成后再恢复执行。在调用next()方法时,我们可以通过Promise的then()方法获取异步操作的结果并传入next()方法,从而实现异步操作的暂停和恢复执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值