Ну, самое бональное, использовать callback.
function AppCreate(data, callback) {
window.WebViewJavascriptBridge.callHandler('create', data, function(response) {
callback(response);
return response;
})
}
AppCreate(data, function(response){
// здесь что-то делать с response
});
Но так у Вас скоро начнется Callback Hall , поэтому придумали такую няшную либу как Q (provises)
https://github.com/kriskowal/q
UPD:
function AppCreate(data) {
var deferred = Q.defer();
window.WebViewJavascriptBridge.callHandler('create', data, function(response) {
deferred.resolve(data);
});
return response;
}
AppCreate(data).then(function(response){
// здесь что-то делать с response
});
Отличие в том, что ваш запрос, ничего не знает о том, как его результат будут обрабатывать. Он лишь обещает вернуть данные, и возвращает их. Никаких колбеков внутрь запроса передавать не нужно