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