diff --git a/native/native_rust_library/RustCallback.cpp b/native/native_rust_library/RustCallback.cpp index df09166f4..a0b979fbe 100644 --- a/native/native_rust_library/RustCallback.cpp +++ b/native/native_rust_library/RustCallback.cpp @@ -1,26 +1,39 @@ #include "RustCallback.h" #include "../cpp/CommonCpp/NativeModules/CommCoreModule.h" #include "../cpp/CommonCpp/NativeModules/InternalModules/RustPromiseManager.h" #include "../cpp/CommonCpp/Tools/Logger.h" #include #include #include namespace comm { void stringCallback(rust::String error, uint32_t promiseID, rust::String ret) { auto it = RustPromiseManager::instance.promises.find(promiseID); if (it == RustPromiseManager::instance.promises.end()) { return; } if (error.size()) { RustPromiseManager::instance.rejectPromise(promiseID, std::string(error)); } else { folly::dynamic retDyn; retDyn = std::string(ret); RustPromiseManager::instance.resolvePromise(promiseID, retDyn); } } +void voidCallback(rust::String error, uint32_t promiseID) { + auto it = RustPromiseManager::instance.promises.find(promiseID); + if (it == RustPromiseManager::instance.promises.end()) { + return; + } + + if (error.size()) { + RustPromiseManager::instance.rejectPromise(promiseID, std::string(error)); + } else { + RustPromiseManager::instance.resolvePromise(promiseID, folly::dynamic()); + } +} + } // namespace comm diff --git a/native/native_rust_library/RustCallback.h b/native/native_rust_library/RustCallback.h index b011f6e1b..6d69d3a0f 100644 --- a/native/native_rust_library/RustCallback.h +++ b/native/native_rust_library/RustCallback.h @@ -1,9 +1,10 @@ #pragma once #include "cxx.h" namespace comm { void stringCallback(rust::String error, uint32_t promiseID, rust::String ret); +void voidCallback(rust::String error, uint32_t promiseID); } // namespace comm