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。作为参考,这里有一种写法:

(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 回答