在开发Cordova插件时,我发现的所有教程都是这样的:
文件:AwesomePlugin.js
var AwesomePlugin = {
kungfuGripAction = function(target, successCallback, failureCallback) {
return cordova.exec(
successCallback,
failureCallback,
'AwesomePluginClass',
'kungfuGripAction',
[target]
);
}
};
module.exports = AwesomePlugin;
Run Code Online (Sandbox Code Playgroud)
文件:AwesomePluginClass.java
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (ACTION_KUNGFU_GRIP.equals(action)) {
JSONObject target = args.getJSONObject(0);
if (gripTarget(target)) {
callbackContext.success("Target successfully gripped.");
return true;
} else {
callbackContext.error("Could not grip target.");
return false;
}
}
Log.d(LOG_TAG, "INVALID ACTION! " + action);
callbackContext.error("Invalid action: " + action);
return false;
}
Run Code Online (Sandbox Code Playgroud)
文件:clientCode.js
AwesomePlugin.kungfuGripAction(cobraEnemy, …Run Code Online (Sandbox Code Playgroud) 在此处找到的DRF文档示例中:
class SnippetList(APIView):
"""
List all snippets, or create a new snippet.
"""
def get(self, request, format=None):
snippets = Snippet.objects.all()
serializer = SnippetSerializer(snippets, many=True)
return Response(serializer.data)
def post(self, request, format=None):
serializer = SnippetSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
上面的示例format在get()和post()方法中都有一个未使用的参数.我已经逐步完成了rest_framework源代码,我找不到调度程序将此参数传递给get()或者post()方法的任何实例.该参数是否需要出现在方法定义中?如果是这样,它用于什么?什么时候使用?