0

websql の ClojureScript ラッパーのフォーマットに問題があります。主な問題は、JavaScript が定義されていなくても機能する websql の tx および err 引数を使用することです。ClojureScript バージョンを実行すると、tx が定義されていないため、コードはエラーをスローします。以下は、私が試していた PhoneGap の websql チュートリアルに沿ったサンプル コードです。

(defn populateDB [tx]
  (.executeSql tx ("CREATE TABLE IF NOT EXISTS foo (id unique, text)"))
  (.log js/console "table added"))

(defn errorCB [err]
  (.log js/console (str "There was an error" (.code err))))

(defn successCB []
  (.alert js/window "It worked!"))

;; Run the transactions
(def db
  (.openDatabase js/window "Database" "1.0" "Cordova Demo" 1024))

(.transaction db (populateDB) (errorCB) (successCB))

これを機能させる方法や、websql + ClojureScript 用に既に存在するライブラリはありますか?

4

1 に答える 1

2

この質問はちょっとばかげていたと思います。投稿する前にもっと調べておくべきでした:p。参考までに、これを書く1つの方法を次に示します。

(def db
  (.openDatabase js/window "Database" "1.0" "Cordova Demo" 1024))

(.transaction db.
              (fn [tx]
                (.executeSql tx "CREATE TABLE IF NOT EXISTS DEMO (id unique, data)"))
              (fn [err]
                (.log js/console.
                  (str "There was an error " (.code err))))
              (fn []
                (.log js/console "It worked!")))
于 2013-04-30T03:40:01.883 に答える