当前分析的ReactNative版本为0.61.5:
ReactNative源码分析之NativeModule调用堆栈分析.
这篇文章分析的最后,涉及到Callback分析。
NativeModule提供的方法,如果想把方法返回的结果传回给JS层,那么实现有两种方式,一种是通过Callback,一种是Promise,Callback已经在该文章中分析,现在分析Promise的实现。
先看下buildArgumentExtractors实现:
private ArgumentExtractor[] buildArgumentExtractors(Class[] paramTypes) {
ArgumentExtractor[] argumentExtractors = new ArgumentExtractor[paramTypes.length];
for (int i = 0; i < paramTypes.length; i += argumentExtractors[i].getJSArgumentsNeeded()) {
Class argumentClass = paramTypes[i];
if (argumentClass == Boolean.class || argumentClass == boolean.class) {
argumentExtractors<