如何处理 sqlite3 中的错误?例如,我有这个简单的代码:
var stmt = db.prepare("update Tickets set " + columns + " where id = (?)");
stmt.run(req.body.id);
stmt.finalize();
db.close();
Run Code Online (Sandbox Code Playgroud)
所有四个函数prepare, run, finalize,close都有可能引发错误。这是在我的express.js服务器上,所以我想放一个res.error()在某处放置一条语句来返回结果。我不想将其放入所有这些中,因为我可能会遇到多个 res.setHeader 错误。
有没有关于sqlite3错误处理实践的文档?我在它的 API 文档中找不到它。
我有这个dom-repeat模板,我想知道如何将Array传递给属性.
<dom-module id="my-element">
<template>
<template is="dom-repeat" items="{{headers}}">
<span>{{item}}</span>
</template>
</template>
</dom-module>
<script>
Polymer({
is: "my-element",
properties: {
headers: Array
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
然后在一个index.html文件中,我这样绑定它:
<my-element headers="['abc', 'def']"></my-element>
Run Code Online (Sandbox Code Playgroud)
我试过这样做,但我什么也没发生,我得到了警告 Polymer::Attributes: couldn't decode Array as JSON
我有一个HTML5和Polymer dom-repeat的简单数据表:
<datalist id="{{queryTitle}}">
<template is="dom-repeat" items="{{recommendations}}">
<option value="{{item}}">
</template>
</datalist>
Run Code Online (Sandbox Code Playgroud)
我用这个数据集填充了recommendations大约200-500个项目的数组.当我加载此页面并打开该datalist的下拉菜单时,我从Windows获得以下消息:
不兼容的正在运行的程序是Google Chrome.数据列表仍像往常一样弹出,但颜色方案总是改为Windows 7 Basic,我真的不希望这种情况发生.
所以我有这个带有dom-repeat的Polymer元素.它正确绑定.但是,当修改数组时,它不会反映回DOM.点击按钮后没有任何变化.
<dom-module id="my-element">
<template>
<template is="dom-repeat" id="allRules" items="{{allRules}}">
<span class="tag" rule-enabled$={{item.enabled}}>{{item.name}}</span>
</template>
<button on-click="click">Click me</button>
</template>
</dom-module>
<script>
Polymer({
is: "my-element",
properties: {
allRules: {
type: Array,
notify: true
}
},
click: function() {
this.allRules[0].name = "three";
},
ready: function() {
this.allRules = [
{
name: "one",
enabled: true
}, {
name: "two",
enabled: false
}
]
},
setBind: function(bind) {
this.bind = bind;
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
是否有像notifyArrayUpdated这样的方法告诉DOM更新绑定数据?
有没有办法动态地将新页面添加到铁页?我有这个铁页:
<iron-pages selected="0">
<div>Abc</div>
</iron-pages>
Run Code Online (Sandbox Code Playgroud)
然后我动态添加几页:
document.addEventListener("WebComponentsReady", function() {
var newDiv = document.createElement("div");
newDiv.innerHtml = "Def";
var ironPage = document.querySelector("iron-pages");
ironPage.appendChild(newDiv);
console.log(ironPage.items.length) // log 1 instead of 2
ironPage.select(1) // nothing shown.
});
Run Code Online (Sandbox Code Playgroud)