使函数在返回之前等待事件? [英] Making a function to wait an event before returning?

查看:33
本文介绍了使函数在返回之前等待事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

function myFunction() {
    wait(); //what I put there?
    return;
}

myFunction(); 

//this is an event; when its triggered I want function to resume
onSomething = function() {
    myFunction.resume(); //what I put there?
}

这只是当地的体验.请注意,while(!resume) 不起作用,因为这会阻止事件 onSomething 发生.

Its just a local experience. Note that while(!resume) won't work because that would prevent the event onSomething to happen.

推荐答案

所以,使用生成器,它看起来像这样:

So, with a generator it would look like so:

function test() {
    // first part of function
    yield;
    // second part of function
    yield;
}

var gen = test(); // creating a generator

gen.next(); // execute first part

button.onclick = function () {
    gen.next(); // execute second part on button click
};

现场演示: http://jsfiddle.net/MQ9PT/

但是,这在 Firefox 之外不起作用.它将成为下一版 ECMAScript 标准的一部分...

This however doesn't work beyond Firefox. It will become part of the ECMAScript standard in the next edition...

这篇关于使函数在返回之前等待事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆