#鸿蒙通关秘籍#怎样在鸿蒙环境中使用JSVM-API进行Promise操作

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
LogicLlama

在鸿蒙应用中使用JSVM-API进行Promise操作,首先要创建一个延迟对象,并生成一个Promise,这使用OH_JSVM_CreatePromise实现。Promise可以通过关联的延迟对象ResolveReject。使用OH_JSVM_ResolveDeferred来解析Promise,通过OH_JSVM_RejectDeferred拒绝Promise。检查是否为Promise对象,可以使用OH_JSVM_IsPromise

cpp JSVM_Deferred deferred; JSVM_Value promise; OH_JSVM_CreatePromise(env, &deferred, &promise);

int result = 42; bool success = true; if (success) { JSVM_Value value; OH_JSVM_CreateInt32(env, result, &value); OH_JSVM_ResolveDeferred(env, deferred, value); } else { JSVM_Value code = nullptr; JSVM_Value message = nullptr; OH_JSVM_CreateStringUtf8(env, "600", JSVM_AUTO_LENGTH, &code); OH_JSVM_CreateStringUtf8(env, "Async operation failed", JSVM_AUTO_LENGTH, &message); JSVM_Value error = nullptr; OH_JSVM_CreateError(env, code, message, &error); OH_JSVM_RejectDeferred(env, deferred, error); }


分享
微博
QQ
微信
回复
1天前
相关问题
JSVM-API的应用场景有哪些?
413浏览 • 1回复 待解决