如何返回websql函数的结果

时间:2013-09-19 15:03:17

标签: javascript web-sql

我在web应用程序中使用websql database来存储来自实际数据库的一些数据并通过websql api获取它。

目前,该呼叫是异步的,即在完成所有任务后更新结果。 我想把它改为同步,即一步一步执行。这是我从js代码

调用的函数
  function fetch(model, id, success, error) {
    var tableName = model.prototype.tableName,
        sql = 'SELECT * FROM ' + tableName + ' WHERE ' + tableName + '_id = ?';

    if (db) {
      // websql
      db.readTransaction(function (tx) {
        tx.executeSql(sql, [id], function (tr, result) {
          if (result.rows.length === 0) {
            return null;
          } else {
            success(transform(model, result.rows.item(0)));
          }
        }, error);
      });
    } else {
      // localStorage
      throw 'Not implemented';
    }
  }

我从一行代码中调用它。

OB.Dal.fetch(OB.Model.BusinessPartner, businessPartnerId);

如何返回方法fetch()的结果,并在下一步中将其分配给某个变量。像

这样的东西
var bpartner = OB.Dal.fetch(OB.Model.BusinessPartner, businessPartnerId);
model.set('bp', bpartner);

-

提前致谢!

0 个答案:

没有答案