我正在使用axiosreact/redux应用程序,当我收到401,404等错误时,我当前必须为每个动作函数处理它们,当我调用axios时.我有一个axios_config.js,我用一些常见的习语包裹了axios调用.例如:
// need to move this to app config
const BASE_URL = 'http://localhost:8080/api/';
function config() {
return {
headers: {'X-Token-Auth': localStorage.getItem('token')}
}
}
export function fetchData(url) {
return axios.get(`${BASE_URL}${url}`, config());
};
Run Code Online (Sandbox Code Playgroud)
我正在努力的是401,404等常见错误.目前,我这样做:
export function fetchBrands() {
return function(dispatch) {
dispatch({type:FETCHING_BRANDS});
fetchData('brands')
.then(response => {
dispatch({
type: FETCH_BRANDS_SUCCESS,
payload: response
});
})
.catch(err => {
// deal with errors
});
}
}
Run Code Online (Sandbox Code Playgroud)
但在catch街区,我不想每次都要处理401,404等.因此,我需要能够在更全局范围内处理这些问题,但仍然能够处理请求的特定错误,例如服务器端验证错误.
我正在寻找一个现有的Java(或JVM'able语言)库,它将创建IIF文件以导入Quickbooks.免费或商业.有人知道什么吗?
更新:
在阅读了对这个问题的评论后,我查看了Intuit提供的IPP和SDK选项,他们无法让这更难.所以这就是我需要做的.我需要从我的数据库中获取数据并将其导出为某种格式,然后我可以将其导入Quickbooks.这甚至不需要是一个自动过程,因为Quickbooks应用程序/数据库不会在运行Web应用程序的服务器(linux)上运行.
在这篇博客文章之后,我启用了我的应用程序从数据库加载i18n消息.它很棒.但是,我不想管理数据库中的所有消息.所以我想能够说我是否在数据库中找不到代码,然后使用默认机制加载它.
这是我有的:
class DatabaseMessageSource extends AbstractMessageSource {
protected MessageFormat resolveCode(String code, Locale locale) {
Message msg = Message.findByCodeAndLocale(code, locale)
def format = null
if (msg) {
format = new MessageFormat(msg.text, msg.locale)
}else{
// What do I do here to grab it from the file
}
return format;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试调用super.resolveCode(代码,语言环境)但导致编译错误.而且我很难跟踪Grails正在使用的AbstractMessageSource的实现来查看源代码.
更新:感谢doelleri我现在意识到我需要做的是扩展ResourceBundleMessageSource.不幸的是,这种方法存在一些问题.我在resources.groovy文件中有以下内容:
messageSource(DatabaseMessageSource)
Run Code Online (Sandbox Code Playgroud)
首先,如果我只是扩展ResourceBundleMessageSource并覆盖resolveCode方法,那么永远不会调用该方法.所以在我的else块中,调用super.resolveCode是没有意义的.
然后我尝试使用ResourceBundleMessageSource中的所有代码实现我的DatabaseMessageSource类,但我显然在resources.groovy中遗漏了一些东西,因为默认的bundle没有连线.
所以在这一点上,我仍然迷失在我需要做的事情上.我想先检查数据库.如果代码不存在,则恢复为与ResourceBundleMessageSource相同的默认行为.
CodeMirror似乎工作得非常好,除非我在textarea中只有少量(3个或更少)代码行.当发生这种情况时,textarea是空白的,直到I(A)在textarea中输入或(B)做一些导致浏览器重新绘制的内容(如调整大小).当有超过3行时,它们会在首次渲染页面时显示正常.
我在这里没有做任何想法:
var editor = CodeMirror.fromTextArea(document.getElementById('html'), {
mode: 'text/html',
tabMode: 'indent',
lineNumbers: true
});
Run Code Online (Sandbox Code Playgroud)
只是想知道是否有其他人有这个问题.
我有以下代码:
class ServiceA {
def save(Object object) {
if (somethingBadComesBack) {
throw new CustomRuntimeException(data)
}
}
}
class ServiceB {
def serviceA
def save(Object object) {
try {
serviceA.save(object)
// do more stuff if good to go
} catch(CustomRuntimeException e) {
// populate some objects with errors based on exception
}
}
}
class ServiceC {
def serviceB
def process(Object object) {
serviceB.save(object)
if (object.hasErrors() {
// do some stuff
}else{
// do some stuff
}
def info = someMethod(object) …Run Code Online (Sandbox Code Playgroud) 我需要在Web应用程序中构建一些非常激进的"自动刷新"功能.它是一种照片库,图像存储在AmazonS3上,但有关图像的数据存储在我们自己的数据库中.我玩过轮询服务器并发送ajax调用以获取更新的数据.我真的很担心这种方法对服务器的负载.有时,页面需要每15到30秒更新一次.
我一直在读Comet,我只是没有卖掉这个"黑客"是个好主意.WebSockets可能会有所帮助,但我担心它们太新而且太不受支持了.那么,话虽这么说,是否有人建议如何构建一个需要经常刷新并有可能拥有非常高的用户群的系统?
我并不认为只是为问题投入更多的服务器,但不相信这也是最好的方法.在其他人建议之前,我不能做Flex,因为网络应用程序必须在iPad上运行.
使用Bootstrap 2.0我使用.table-striped设计了一个表格.我正在通过ajax更新数据行,当更新完成时,我想突出显示行,该行适用于没有背景颜色的行.所以基本上,偶数行突出显示,奇数行不突出显示.我不知道为什么会这样.
我现在可能只是太累了,但有些建议会受到赞赏.
我正在使用以下代码来触发突出显示:
$("#row_" + id).effect("highlight", {}, 1500);
Run Code Online (Sandbox Code Playgroud) 我们最近从SVN切换到Git,在最佳实践等方面,我们仍然处于学习过程中.我正在遵循本指南作为管理我们的分支和发布的起点.
该文件表明,功能分支通常是开发人员本地的,这与我在别处阅读的内容非常相似.但是,一些工程师正在研究下一版本中不会出现的功能.这些功能在我们的发布周期之前是2到3次迭代.
我从工程师那里得到的关注是,他们担心在当地保留如此多的代码.即使有他们的备份流程,它仍然是一个问题.我倾向于同意他们的担忧.
所以我的问题是,是否标准的是,那些没有为更多即时版本提供的分支被推向原点?在某些时候,这些分支被合并到develop分支中,然后从origin中删除.
例如,一位工程师正在研究一个相当大的履行件.我们不希望他的代码被推入开发分支(总是我们的下一个候选版本).因此,我们为他创建了一个完整的分支,并将其推向了原点.我链接的文件和我读过的其他文件都没有说明这是好事还是坏事.
如果这里有更好的做法,请告诉我或确认我的推测.
我正在使用应用程序插件来创建可分发的zip.查看它生成的脚本初始类路径指定lib文件夹中的每个文件.我想让我的用户可以选择在lib文件夹中添加额外的库,并让脚本选择这些库.
有没有办法告诉应用程序插件拉入lib文件夹中的所有jar文件,而不仅仅是那些在Gradle构建文件中指定为依赖项的文件?
我有以下代码,这是有效的,但我想知道是否有一种"groovier"方式这样做:
/**
* 10 digit - #-######-##-#
* 13 digit - ###-#-######-##-#
* */
private formatISBN(String isbn) {
if (isbn?.length() == 10) {
def part1 = isbn.substring(0, 1)
def part2 = isbn.substring(1, 7)
def part3 = isbn.substring(7, 9)
def part4 = isbn.substring(9, 10)
return "${part1}-${part2}-${part3}-${part4}"
} else if (isbn?.length() == 13) {
def part1 = isbn.substring(0, 3)
def part2 = isbn.substring(3, 4)
def part3 = isbn.substring(4, 10)
def part4 = isbn.substring(10, 12)
def part5 = isbn.substring(12, 13)
return "${part1}-${part2}-${part3}-${part4}-${part5}"
} …Run Code Online (Sandbox Code Playgroud) grails ×2
ajax ×1
axios ×1
codemirror ×1
comet ×1
exception ×1
git ×1
gradle ×1
groovy ×1
import ×1
java ×1
javascript ×1
jquery ×1
polling ×1
quickbooks ×1
react-redux ×1
reactjs ×1
redux ×1
string ×1
transactions ×1
websocket ×1