Tôi đang làm việc với một API JavaScript, nơi hầu hết các chức năng đều không đồng bộ. API là WebKit JavaScript Database API là một ràng buộc với một tập con chức năng để thao tác cơ sở dữ liệu SQLite3. Tôi hiểu quyết định thiết kế để làm cho mọi thứ không đồng bộ như không chặn và cung cấp giao diện người dùng đáp ứng. Trong tình huống của tôi, tôi biết rằng việc sử dụng các cuộc gọi API async của tôi sẽ thực thi nhanh. Vì đây là trường hợp tôi muốn cung cấp cho các nhà phát triển của tôi một trình bao bọc API sạch hơn và dễ sử dụng hơn để buộc các cuộc gọi đồng bộ.Mẫu để gói một hàm JavaScript không đồng bộ để làm cho nó đồng bộ
Dưới đây là cuộc gọi async
db.executeSql(sqlStatement, function(result) {
// do something with result
});
Và đây là những gì tôi muốn để có thể làm
var result = dbWrapper.executeSql(sqlStatement);
// do something with result
Có một thiết kế mô hình/cách để làm điều này? Một ví dụ được viết hoặc liên kết với mã được ưu tiên. Nền tảng/broswer đích là Mobile Safari trên iPhone.
Cảm ơn bạn
Sẽ rất thú vị nếu bạn nhận được câu trả lời, vì tôi nghi ngờ điều đó là không thể (ít nhất là không có hỗ trợ luồng, mà Safari sẽ không đưa cho bạn). –