关系数据库的无状态编程
Stateless Programming with Relational Database
我尽量编码为无状态。然而,当涉及到与关系数据库的交互时,我被卡住了。
var fetchDataFromTable = function(tableName)
{
//dummy result from using mysql library
sqlQuery = "Select * from " + tableName;
return new Promise(function(resolve, reject)
{
con.query(sqlQuery, function(err,body)
{
resolve(body)
})
})
}
var getOrderName = function(checkOrderID,fetchDataFromTable)
{
//Here, I have to hard-code the table name.
fetchFromTable("OrderTable").then(function(result)
{
//dummy function. Can use SQL query instead of looping.
result.forEach(function(index){
if (result[index].orderID == checkOrderID)
return result[index].orderName;
})
})
}
orderName = getOrderName("A123",fetchDataFromTable);
上面的示例代码显示了依赖数据库的结果来做出某些决策的示例。在本例中,我使用的是". orderid "。
我的问题是,这被认为是无状态的吗?如果不是,我怎样才能使它更"无国籍"?这取决于你对无状态的定义。
根据定义,数据库是有状态的(它的全部意义是存储东西),所以从技术上讲,你所做的不是无状态的。
然而,当人们提到无状态web应用时,他们通常是指"无会话状态",而不是完全无状态。
您的代码示例似乎没有使用任何会话状态,因此可以将其称为无状态解决方案。
相关文章:
- 事件和状态
- jquery动画可以通过编程链接吗
- 获取选择框的状态
- 一点javascript元编程&可链接的设置器
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 以编程方式切换谷歌日历 API 的忙/闲事件状态
- 在复选框状态ExtJS 4.1中手动检测与编程更改
- 如何在没有闭包的情况下对共享状态进行编程
- jQuery Mobile-以编程方式更改单选按钮状态
- 如何以编程方式触发自定义插件状态
- 通过编程方式改变单选按钮的状态
- 关系数据库的无状态编程
- 我如何在JavaScript中以编程方式创建的状态之间切换
- Ionic如何以编程方式返回状态
- 在编程新的promise时,如何检查此promise状态?js
- 函数式编程和局部函数状态分配