There aren't any tests for it, so I tried writing a quick example. Perhaps I don't understand how it should work, but this wait() will eventually time out, and value is undefined.
var {Deferred} = require( 'ringo/promise' );
var deferred = new Deferred();
setTimeout( function () {
deferred.resolve( 'hello world' );
}, 1000 );
var value = deferred.promise.wait( 5000 );
print( 'Value: ' + value );
Any thoughts?
Also, shouldn't a lock timeout throw an exception instead of returning undefined, or is this the customary contract for Promises?