我想知道如何向nodejs grpc函数调用添加元数据.我可以在制作客户端时使用频道凭据
var client = new proto.Document('some.address:8000',
grpc.credentials.createInsecure()
)
Run Code Online (Sandbox Code Playgroud)
使用时发送哪些client.Send(doc, callback),但go grpc服务器在呼叫元数据中查找我必须设置的标识信息.我尝试使用grpc.credentials.combineChannelCredentials不安全的连接和一个grpc.Metadata实例,但我找不到正确的方法来做到这一点.
我遇到的错误是TypeError: compose's first argument must be a CallCredentials object.我试图跟进它,但它进入c代码失去了我,我无法看到我必须给予什么javascript类型comebineChannelCredentials来实现我正在寻找的东西,文档有点稀疏如何实现这一点.
在这段代码中,flow并没有抱怨dog在状态上设置的值.它似乎忽略了这个NamespaceData定义.我已经设置了类型,所以它应该抱怨.我正在使用核素,流量正在为其他一切正常运行.
所有的属性action,如namespace,project,collection都是字符串.
// @flow
import { NAMESPACE_SET } from '../actions/NamespaceActions'
type NamespaceData = {
project: string,
collection: string,
}
type NamespaceState = {
[namespace: string]: NamespaceData,
}
const initialState: NamespaceState = {}
function namespaceReducer(state: NamespaceState = initialState, action: Object): NamespaceState {
switch (action) {
case NAMESPACE_SET: {
return {
...state,
[action.namespace]: {
project: action.project,
collection: action.collection,
dog: 1,
}
}
}
}
return state
}
export default namespaceReducer
Run Code Online (Sandbox Code Playgroud) 我试图在运行时为函数调用生成一个参数列表,但我想不出在c ++中实现这一点的方法.
这是我写的助手库.我通过网络从客户端获取输入数据,并使用该数据调用用户先前设置的函数指针.该函数采用一个字符串(类似于printf的标记)和不同数量的参数.我需要的是根据从客户端收到的数据添加更多参数的方法.
我将函数存储在函数指针的映射中
typedef void (*varying_args_fp)(string,...);
map<string,varying_args_fp> func_map;
Run Code Online (Sandbox Code Playgroud)
一个示例用法是
void printall(string tokens, ...)
{
va_list a_list;
va_start(a_list, tokens);
for each(auto x in tokens)
{
if (x == 'i')
{
cout << "Int: " << va_arg(a_list, int) << ' ';
}
else if(x == 'c')
{
cout << "Char: " << va_arg(a_list, char) << ' ';
}
}
va_end(a_list);
}
func_map["printall"] = printall;
func_map["printall"]("iic",5,10,'x');
// prints "Int: 5 Int: 10 Char: x"
Run Code Online (Sandbox Code Playgroud)
当硬编码函数调用及其参数时,这很好用,但如果我收到了数据"CreateX 10 20",程序需要能够自己调用参数.例如
// func_name = "CreateX", tokens …Run Code Online (Sandbox Code Playgroud) 我正在尝试npm install --save react-native为我的库安装react-native ,以便我可以导出一个React组件,该组件View用作其子组件的包装,以使其与平台无关。当我尝试导入时,react-native它会喷出数百行,提示它无法解析其中的模块react-native
例如
Error in ./~/react-native/Libraries/react-native/react-native.js
Module not found: Error: Cannot resolve module 'ActivityIndicator'
解决此问题的最佳方法是什么?
XMLHttpRequest仍会从服务器下载响应?我正在尝试减少代码中的复制/粘贴,并且偶然发现了这个问题.我已经google了答案但是所有答案都使用类的实例作为键,我找不到任何使用类定义本身作为键(我不知道是否可能).
我的代码是这样的:
# All chunkFuncs keys are class definitions, all values are functions
chunkFuncs = {Math_EXP : Math_EXPChunk, Assignment : AssignmentChunk, Function : FunctionChunk}
def Chunker(chunk, localScope):
for chunkType in chunkFuncs:
if isinstance(chunk,chunkType):
# The next line is where the error is raised
localScope = chunkFuncs[chunk](chunk,localScope)
return localScope
Run Code Online (Sandbox Code Playgroud)
而错误就是这个
TypeError: unhashable type: 'Assignment'
Run Code Online (Sandbox Code Playgroud)
以下是类定义:
class Math_EXP(pyPeg.List):
grammar = [Number,Symbol],pyPeg.maybe_some(Math_OP,[Number,Symbol])
class Assignment(pyPeg.List):
grammar = Symbol,'=',[Math_EXP,Number]
class Function(pyPeg.List):
grammar = Symbol,'(',pyPeg.optional(pyPeg.csl([Symbol,Number])),')'
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以用来获得相同的效果?
谢谢.
javascript ×2
abort ×1
browser ×1
c++ ×1
dictionary ×1
ecmascript-6 ×1
flowtype ×1
function ×1
grpc ×1
hash ×1
http ×1
metadata ×1
node.js ×1
npm ×1
python ×1
python-3.x ×1
react-native ×1
reactjs ×1
redux ×1