我正在使用DataLoader将请求/查询一起批处理.在我的加载器功能中,我需要知道所请求的字段,以避免有一个SELECT * FROM query而是SELECT field1, field2, ... FROM query...
使用DataLoader传递resolveInfo所需的最佳方法是什么?(我resolveInfo.fieldNodes用来获取请求的字段)
目前,我正在做这样的事情:
await someDataLoader.load({ ids, args, context, info });
Run Code Online (Sandbox Code Playgroud)
然后在实际的loaderFn中:
const loadFn = async options => {
const ids = [];
let args;
let context;
let info;
options.forEach(a => {
ids.push(a.ids);
if (!args && !context && !info) {
args = a.args;
context = a.context;
info = a.info;
}
});
return Promise.resolve(await new DataProvider().get({ ...args, ids}, context, info));};
Run Code Online (Sandbox Code Playgroud)
但正如你所看到的那样,这很黑,而且感觉并不好......
有谁知道我怎么能做到这一点?
有没有办法抑制 sdterr 的控制台输出但保留退出代码?
我做到了
#!/bin/sh
command 2> /dev/null
STATUS=$?
Run Code Online (Sandbox Code Playgroud)
但这样的话,即使退出代码也会被抑制(并变成0)。
我想实现当命令失败时我可以得到的结果,而不需要集群控制台,除非--verbose启用了标志,但它应该在命令失败时退出程序。