Skip to content

Commit 5c7ad9a

Browse files
committed
fix(js): custom controller connected dead lock
1 parent 026a29d commit 5c7ad9a

4 files changed

Lines changed: 7 additions & 5 deletions

File tree

source/binding/NodeJS/src/apis/controller.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ maajs::PromiseType ControllerImpl::wait(MaaCtrlId id)
235235

236236
maajs::PromiseType ControllerImpl::get_connected()
237237
{
238-
auto worker = new maajs::AsyncWork<MaaStatus>(env, [handle = controller]() { return MaaControllerConnected(handle); });
238+
auto worker = new maajs::AsyncWork<bool>(env, [handle = controller]() { return MaaControllerConnected(handle); });
239239
worker->Queue();
240240
return worker->Promise();
241241
}

source/binding/NodeJS/src/apis/tasker.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,11 @@ maajs::PromiseType TaskerImpl::wait(MaaTaskId id)
191191
return worker->Promise();
192192
}
193193

194-
bool TaskerImpl::get_inited()
194+
maajs::PromiseType TaskerImpl::get_inited()
195195
{
196-
return MaaTaskerInited(tasker);
196+
auto worker = new maajs::AsyncWork<bool>(env, [handle = tasker]() { return MaaTaskerInited(handle); });
197+
worker->Queue();
198+
return worker->Promise();
197199
}
198200

199201
bool TaskerImpl::get_running()

source/binding/NodeJS/src/apis/tasker.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ declare global {
151151
post_stop(): TaskJob
152152
status(id: TaskId): Status
153153
wait(id: TaskId): Promise<Status>
154-
get inited(): boolean
154+
get inited(): Promise<boolean>
155155
get running(): boolean
156156
get stopping(): boolean
157157
set resource(res: Resource | null)

source/binding/NodeJS/src/apis/tasker.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ struct TaskerImpl : public maajs::NativeClassBase
5353
maajs::ValueType post_stop(maajs::ValueType self, maajs::EnvType env);
5454
MaaStatus status(MaaResId id);
5555
maajs::PromiseType wait(MaaResId id);
56-
bool get_inited();
56+
maajs::PromiseType get_inited();
5757
bool get_running();
5858
bool get_stopping();
5959
void set_resource(std::optional<maajs::NativeObject<ResourceImpl>> res);

0 commit comments

Comments
 (0)