Meteor.methods({ my_function: function(arg1, arg2) { // Set up a future var fut = new Future(); // This should work for any async method setTimeout(function() { // Return the results fut.ret(message + " (delayed for 3 seconds)"); }, 3 * 1000); // Wait for async to finish before returning // the result return fut.wait(); } });
Meteor.methods({ my_function: function(arg1, arg2) { // Set up a future var fut = new Future(); // This should work for any async method setTimeout(function() { // Return the results fut['return'](message + " (delayed for 3 seconds)"); }, 3 * 1000); // Wait for async to finish before returning // the result return fut.wait(); } });
Meteor.methods({ 'search': function(query) { var future = new Future(); amazon.execute('ItemSearch', { 'SearchIndex': 'Books', 'Keywords': query, 'ResponseGroup': 'ItemAttributes' }, function(results) { console.log(results); future["return"](results) }); return future.wait(); } });
var fut = new Future(); asyncfunc( data, function( err, res ){ fut.ret( res ); }); return fut.wait();
var connection = MongoInternals.defaultRemoteCollectionDriver().mongo; var searchResults = (function(collectionName, query) { var future = new Future(); connection._getCollection(collectionName) .find(query) .toArray(function(error, results) { if(error) future.throw(error); else future.return(results || []); }); return future.wait(); })(options);
var title = (function(page) { // not sure about Meteor.npmRequire... so I'm using Npm.require instead var Future = Npm.require('fibers/future'); var future = new Future(); page.evaluate(function() { future.return(document.title); }); return future.wait(); })(page); console.log(title);
ConcurrentMap<Integer, java.util.concurrent.Future<Page>> cache = new ConcurrentHashMap<Integer, java.util.concurrent.Future<Page>>; public Page getPage(Integer id) { Future<Page> myFuture = new Future<Page>(); cache.putIfAbsent(id, myFuture); Future<Page> actualFuture = cache.get(id); if ( actualFuture == myFuture ) { // I am the first w00t! Page page = getFromDataBase(id); myFuture.set(page); } return actualFuture.get(); }
Meteor.methods({ 'command' : function(line) { this.unblock(); var future = new Future(); exec(line, function(error, stdout, stderr) { future.return({stdout: stdout, stderr: stderr}); }); return future.wait(); } });
var Future = Npm.require('fibers/future'); var future = new Future(); Meteor.setTimeout(function() { future.return(); let d = `${moment(data[i].t).format("YYYY-MM-DD HH:mm:ss")} ${data[i].field}`; mqttClient.publish("test", d); }, data[i].duration*1000); future.wait();
var future = new Future(); // 1 gcontacts.refreshAccessToken(opts.refreshToken, function (err, accessToken) { //2 future["return"]({err: err, accessToken: accessToken}); // 4 }); var result = future.wait(); // 3, 5 if (result.err && result.err != null) { // 6 console.log('gcontact.refreshToken, ', result.err); return false; } else { console.log('gcontact.access token success!'); gcontacts.token = result.accessToken; }
var Future = Npm.require('fibers/future'), preview = Meteor.npmRequire('page-previewer'); Meteor.methods({ getMetaData: function(url) { var f = new Future(); preview(url, function(err, data) { if (!err) { return f.return(data); } }); return f.wait(); } });
getInstaPop = new Future() Insta.media.popular (img, err) -> getInstaPop.return img console.log(getInstaPop.wait())
function wrapAsync(fn, context) { //XXX Shortened version of wrapAsync. Only works on server, doesn't allow for callback to be passed. return function (/* arguments */) { var self = context || this; var newArgs = _.toArray(arguments); var fut = new Future(); var callback = Meteor.bindEnvironment(fut.resolver()); newArgs.push(function(err, res){ return callback.apply(this, arguments); }); fn.apply(self, newArgs); return fut.wait() }; }
... var Future = Npm.require('fibers/future'); Meteor.methods({ "getData": function (id) { var future = new Future(); neo.commit ( //<-- async function which expect a callback id, function(error, response) { if (error) return future.throw(error); return future.return(response); } ); return future.wait(); } });
Meteor.methods({ dotest: function (ruleid) { var Future = Npm.require("fibers/future"); var fut = new Future(); console.log('Do test called with argument : %s', ruleid); var socket = zmq.socket('req'); socket.connect('tcp://localhost:5555'); socket.send(ruleid); socket.on('message', function(data) { console.log('Reply: ' + data); fut['return'](data); }); return fut.wait(); } });
public Era readTheEra(SharedPreferences prefs) { String whichEra = prefs.getString(PREFERENCE_BACK, "past"); Era era = whichEra.equals("past") ? new Past() : new Future(); return era; }
ExecutorService es = ...; Future t1work = new Future(...); Future t2work = new Future(...); Future t2update = new Future(...); es.submit(t1work); es.submit(t2work); while (1) { if (t1work.isDone() && t2work.isDone()) es.submit(t2update); if (t1work.isDone() && t2update.isDone()) es.submit(t1work); if (t2work.isDone() && t2update.isDone()) es.submit(t2work); Thread.sleep(100); }
public static Future start(Vertx vertx) throws Exception { vertx.setTimer(timeInterval, id -> { File file = new File(config.getStringProperty("file.upload.directory", null).get()); if (file.isDirectory()) { File[] files = file.listFiles(); for (File fileName : files) { long diff = new Date().getTime() - fileName.lastModified(); if (diff > config.getLongProperty("file.upload.cleanup.timer.millisecond", 0).get()) { deleteFileUploads(fileName.getAbsolutePath()); } } } }); //add new line to do your return here. If you want to get something out of the info above then use a public variable? return new Future()......;//define and return what you want here? }
private Future<?> scheduleWithFixedDelayAndCallback(ScheduledExecutorService service, Runnable work, long initialDelay, long delay, TimeUnit unit, Runnable cleanup) { Object monitor = new Object(); Runnable monitoredWork = new SynchronizedRunnable(monitor, work); Runnable monitoredCleanup = new SynchronizedRunnable(monitor, cleanup); Future<?> rawFuture = service.scheduleAtFixedRate(monitoredWork, initialDelay, delay, unit); Future<?> wrappedFuture = new FutureWithCancelCallback(rawFuture, monitoredCleanup); return wrappedFuture; }
final Future<Boolean> future = new SettableFutureTask (new Runnable () { public void run () { ... mManager.setListener (new Listener (future)); } });