javascript 书架交易的小例子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 书架交易的小例子相关的知识,希望对你有一定的参考价值。

import config from '../src/config'
import chai, { expect, should, assert } from 'chai'
import _ from 'lodash'

const knex = require('knex')(config.database)
const bookshelf = require('bookshelf')(knex)

const Test = bookshelf.Model.extend({
  tableName: 'TEST_ONLY',
	idAttribute: 'ID',
	softDelete: false  
})

// //Standard Chai Style
it('Testing Creating Notification Setting Record', function() {

	//Just to get a random value
	const value = Math.floor((Math.random() * 10000) + 1).toString()

	let obj = { 
  	NAME: value
	}
  
  return createNsWithTransaction(obj).then(function(data) {
  	let res = data.toJSON()
  	expect(value).to.equal(res.NAME)   	
  })
})

function createNsWithTransaction(object) {

	//With Promises
  return new Promise(async (resolve, reject) => {
    bookshelf.transaction(async (t) => {
    	try {

    		const model = await Test.forge(object).save(null, { transacting: t })

    		//This commits the Transaction
    		resolve(model)

      } catch (err) {
        logger.error(' Test Failed', err)
        await this.rollbackTransaction(t)
        reject(err)
      }
    })
  })   
}  		

以上是关于javascript 书架交易的小例子的主要内容,如果未能解决你的问题,请参考以下文章

区块链是什么?

初学JavaScript之利用计时器和随机数做出的小例子

在 es6 中编写书架模型

关于node的小例子

js基础:输出,语句,变量的小例子

全栈项目|小书架|服务器开发-Koa全局路由实现