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? }
Es solo una experiencia local. Tenga en cuenta que mientras que (! Resume) no funcionará porque eso evitaría que el evento en Algo suceda.
Entonces, con un generador se vería así:
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 };
Demostración en vivo: http://jsfiddle.net/MQ9PT/
Sin embargo, esto no funciona más allá de Firefox. Se convertirá en parte del estándar ECMAScript en la próxima edición …
Esto no es posible.
En lugar de esperar el evento, desea poner todo lo que necesita hacer cuando suceda en la función onSomething
.
Tienes que cambiar tu cerebro para pensar en eventos en lugar del flujo de progtwigción “tradicional”. La forma de hacerlo es:
function myFunctionPart1() { doSomething(); } function myFunctionPart2() { doSomethingElse(); } myFunctionPart1(); onSomething = function() { myFunctionPart2(); }