Я работаю с API JavaScript, где большинство функций асинхронны. API - это API базы данных JavaScript WebKit который является привязкой к подмножеству функций для управления базами данных SQLite3. Я понимаю дизайнерское решение сделать вещи асинхронными, чтобы не блокировать и обеспечить отзывчивый пользовательский интерфейс. В моей ситуации я знаю, что мои вызовы асинхронного API будут выполняться быстро. Поскольку это так, я хотел бы предоставить своим разработчикам более чистый и простой в использовании API-интерфейс оболочки, который заставляет синхронные вызовы.
Вот асинхронный вызов
db.executeSql(sqlStatement, function(result) {
// do something with result
});
И вот что я хотел бы сделать
var result = dbWrapper.executeSql(sqlStatement);
// do something with result
Есть ли шаблон дизайна / способ сделать это? Написанный или связанный с кодом пример предпочтительнее. Целевая платформа / браузер - Mobile Safari на iPhone.
Спасибо