Skip to content

Instantly share code, notes, and snippets.

@boyangwang
Last active September 3, 2016 09:19
Show Gist options
  • Save boyangwang/d6a3e5d74820612cfb7f069e24c90817 to your computer and use it in GitHub Desktop.
Save boyangwang/d6a3e5d74820612cfb7f069e24c90817 to your computer and use it in GitHub Desktop.
var TodoDispatcher = require('./dispatcher/TodoDispatcher.js');
TodoDispatcher.register((payload) => {
console.log('callback 1 start, should take 10s');
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('callback 1 done, its promise resolved', payload);
resolve(payload);
}, 10000);
});
});
TodoDispatcher.register((payload) => {
console.log('callback 2 start, should take 7s');
return new Promise((resolve, reject) => {
setTimeout(() => {
// XXX want to wait for callback 1
TodoDispatcher.waitFor([1], () => {
console.log(`callback 2 done.
though my time is less than callback 1, I wait for callback 1.
So this message should be LATER than callback 1 done`);
resolve(payload);
});
}, 7000);
});
});
TodoDispatcher.dispatch('payload 1');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment