You seem to be expecting asynchronous code to behave synchronously. Try adding a callback, some pseudocode:
function getJSON (callback) {
var collectionName = 'messages';
var query = {title: 'asdf'};
var options = {
exact: false,
limit: 10
};
WL.JSONStore.get(collectionName)
.find(query, options)
.then(function (arrayResult) {
console.log(JSON.stringify(arrayResult));
callback(arrayResult);
})
.fail(function (errorObject){
console.log(errorObject.toString());
});
}
$("#button").click(function () {
getJSON(function (arrayResult) {
console.log(JSON.stringify(arrayResult));
});
});