18c339a94Sopenharmony_ci# CallbackScope
28c339a94Sopenharmony_ci
38c339a94Sopenharmony_ciThere are cases (for example, resolving promises) where it is necessary to have
48c339a94Sopenharmony_cithe equivalent of the scope associated with a callback in place when making
58c339a94Sopenharmony_cicertain Node-API calls.
68c339a94Sopenharmony_ci
78c339a94Sopenharmony_ci## Methods
88c339a94Sopenharmony_ci
98c339a94Sopenharmony_ci### Constructor
108c339a94Sopenharmony_ci
118c339a94Sopenharmony_ciCreates a new callback scope on the stack.
128c339a94Sopenharmony_ci
138c339a94Sopenharmony_ci```cpp
148c339a94Sopenharmony_ciNapi::CallbackScope::CallbackScope(napi_env env, napi_callback_scope scope);
158c339a94Sopenharmony_ci```
168c339a94Sopenharmony_ci
178c339a94Sopenharmony_ci- `[in] env`: The environment in which to create the `Napi::CallbackScope`.
188c339a94Sopenharmony_ci- `[in] scope`: The pre-existing `napi_callback_scope` or `Napi::CallbackScope`.
198c339a94Sopenharmony_ci
208c339a94Sopenharmony_ci### Constructor
218c339a94Sopenharmony_ci
228c339a94Sopenharmony_ciCreates a new callback scope on the stack.
238c339a94Sopenharmony_ci
248c339a94Sopenharmony_ci```cpp
258c339a94Sopenharmony_ciNapi::CallbackScope::CallbackScope(napi_env env, napi_async_context context);
268c339a94Sopenharmony_ci```
278c339a94Sopenharmony_ci
288c339a94Sopenharmony_ci- `[in] env`: The environment in which to create the `Napi::CallbackScope`.
298c339a94Sopenharmony_ci- `[in] async_context`: The pre-existing `napi_async_context` or `Napi::AsyncContext`.
308c339a94Sopenharmony_ci
318c339a94Sopenharmony_ci### Destructor
328c339a94Sopenharmony_ci
338c339a94Sopenharmony_ciDeletes the instance of `Napi::CallbackScope` object.
348c339a94Sopenharmony_ci
358c339a94Sopenharmony_ci```cpp
368c339a94Sopenharmony_civirtual Napi::CallbackScope::~CallbackScope();
378c339a94Sopenharmony_ci```
388c339a94Sopenharmony_ci
398c339a94Sopenharmony_ci### Env
408c339a94Sopenharmony_ci
418c339a94Sopenharmony_ci```cpp
428c339a94Sopenharmony_ciNapi::Env Napi::CallbackScope::Env() const;
438c339a94Sopenharmony_ci```
448c339a94Sopenharmony_ci
458c339a94Sopenharmony_ciReturns the `Napi::Env` associated with the `Napi::CallbackScope`.
468c339a94Sopenharmony_ci
478c339a94Sopenharmony_ci## Operator
488c339a94Sopenharmony_ci
498c339a94Sopenharmony_ci```cpp
508c339a94Sopenharmony_ciNapi::CallbackScope::operator napi_callback_scope() const;
518c339a94Sopenharmony_ci```
528c339a94Sopenharmony_ci
538c339a94Sopenharmony_ciReturns the Node-API `napi_callback_scope` wrapped by the `Napi::CallbackScope`
548c339a94Sopenharmony_ciobject. This can be used to mix usage of the C Node-API and node-addon-api.
55