diff --git a/frameworks/js/napi/src/sensor_js.cpp b/frameworks/js/napi/src/sensor_js.cpp index 42169d925155433a091fae964f27766063234679..fded990ba8e8795bb56d2b83d1383b72a6aa46e5 100644 --- a/frameworks/js/napi/src/sensor_js.cpp +++ b/frameworks/js/napi/src/sensor_js.cpp @@ -130,10 +130,11 @@ static void EmitOnCallback(SensorEvent *event) { CHKPV(event); int32_t sensorTypeId = event->sensorTypeId; - if (!CheckSubscribe(sensorTypeId)) { + std::lock_guard onCallbackLock(onMutex_); + auto iter = g_onCallbackInfos.find(sensorTypeId); + if (iter == g_onCallbackInfos.end()) { return; } - std::lock_guard onCallbackLock(onMutex_); auto onCallbackInfos = g_onCallbackInfos[sensorTypeId]; for (auto &onCallbackInfo : onCallbackInfos) { if (!copySensorData(onCallbackInfo, event)) {