Вы можете получить эту ошибку, если пропустите вызов await при отправке объектов JS на нативную сторону, поэтому обещание будет передано, а не результат.
Я использую типичный шаблон асинхронного сна, который оборачиваетсяsetTimeout, так что это может также повлиять на то, как эта ошибка проявляется, я не совсем уверен.
Это не проверено, но что-то подобное должно воспроизвести это:
// some async func
const asyncGetResult = async () => {
await sleep(17);
// etc.
return Promise.resolve(result);
};
// this should cause the error:
MyNativeComponent.nativeMethod({
result: asyncFunc() // <- missing 'await'
});
// this should not cause the error:
MyNativeComponent.nativeMethod({
result: await asyncFunc()
});
Это может быть трудно отследить, если вы не знаете, что ищете.Я прибегал к процессу устранения, возвращая изменения файл за файлом, пока не нашел ошибочную строку.Надеюсь, это сэкономит кому-то время.