0

Webアプリケーションでwebsqlデータベースを使用して、実際のデータベースからデータを保存し、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);

--

前もって感謝します!

4

0 に答える 0