在 ArkTS 中如何实现异步数据处理?

通过 ArkTS,如何优雅地处理异步操作?是否有类似 async/await 的机制来简化异步调用?

阅读 1.7k
1 个回答

可通过以下几种方式处理异步操作:
1、使用Promise:
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Success!');
}, 1000);
});

myPromise.then(result => {
console.log(result);
}).catch(error => {
console.error(error);
});

2、使用async/await:
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Data fetching error', error);
}
}
fetchData();

3、使用Node-API接口:
napi_status status;
napi_value promise;
napi_deferred deferred;

status = napi_create_promise(env, &deferred, &promise);
// 假设有一个异步操作的完成
status = napi_resolve_deferred(env, deferred, result);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进