1# Snippets 2 3**Napi snippets** 4 5<table><thead align="center"><tr><th class="cellrowborder" valign="top" width="12%" ><ul>版本号</ul></th> 6<th class="cellrowborder" valign="top" width="25%"><ul>场景</ul></th> 7<th class="cellrowborder" valign="top" width="18%"><ul>命令</ul></th> 8<th class="cellrowborder" valign="top" width="45%"><ul>描述</ul></th> 9</tr> 10</thead> 11<tbody> 12 <tr> 13 <td class="cellrowborder" valign="top" width="12%" rowspan="34">1.0.0</td> 14 <td class="cellrowborder" valign="top" width="25%">类</td> 15 <td class="cellrowborder" valign="top" width="18%">napiclass</td> 16 <td class="cellrowborder" valign="top" width="45%">napi类使用场景代码片段</td> 17 </tr> 18 <tr> 19 <td>结构体</td> 20 <td>napistruct</td> 21 <td>napi结构体使用场景代码片段</td> 22 </tr> 23 <tr> 24 <td>线程安全</td> 25 <td>napiasyncthreadsafefunc</td> 26 <td>napi线程安全使用场景代码片段</td> 27 </tr> 28 <tr> 29 <td>枚举</td> 30 <td>napienum</td> 31 <td>napi枚举使用场景代码片段</td> 32 </tr> 33 <tr> 34 <td rowspan="5">异步工作</td> 35 <td>napiasyncwork</td> 36 <td>napi异步工作使用场景代码片段</td> 37 </tr> 38 <tr> 39 <td>napicallfunc</td> 40 <td>napi回调代码片段,结合napiasyncwork使用</td> 41 </tr> 42 <tr> 43 <td>napicreatepromise</td> 44 <td>napi创建promise代码片段,结合napiasyncwork使用</td> 45 </tr> 46 <tr> 47 <td>napiresolvedeferred</td> 48 <td>接受napicreatepromise创建的promise值代码片段</td> 49 </tr> 50 <tr> 51 <td>napirejectdeferred</td> 52 <td>拒绝napicreatepromise创建的promise值代码片段</td> 53 </tr> 54 <tr> 55 <td rowspan="23">输入输出</td> 56 <td>napidoublein</td> 57 <td>napi输入double类型数据代码片段</td> 58 </tr> 59 <tr> 60 <td>napiint32in</td> 61 <td>napi输入int32_t类型数据代码片段</td> 62 </tr> 63 <tr> 64 <td>napiuint32in</td> 65 <td>napi输入uint32_t类型数据代码片段</td> 66 </tr> 67 <tr> 68 <td>napiint64in</td> 69 <td>napi输入int64_t类型数据代码片段</td> 70 </tr> 71 <tr> 72 <td>napiboolin</td> 73 <td>napi输入bool类型数据代码片段</td> 74 </tr> 75 <tr> 76 <td>napistringutf8in</td> 77 <td>napi输入string utf8类型数据代码片段</td> 78 </tr> 79 <tr> 80 <td>napistringutf16in</td> 81 <td>napi输入string utf16类型数据代码片段</td> 82 </tr> 83 <tr> 84 <td>napiisarray</td> 85 <td>napi判断输入数据是否是array代码片段</td> 86 </tr> 87 <tr> 88 <td>napiarrayin</td> 89 <td>napi输入array类型数据代码片段</td> 90 </tr> 91 <tr> 92 <td>napiarrayout</td> 93 <td>napi输出array类型数据代码片段</td> 94 </tr> 95 <tr> 96 <td>napidoubleout</td> 97 <td>napi输出double类型数据代码片段</td> 98 </tr> 99 <tr> 100 <td>napiint32out</td> 101 <td>napi输出int32_t类型数据代码片段</td> 102 </tr> 103 <tr> 104 <td>napiuint32out</td> 105 <td>napi输出uint32_t类型数据代码片段</td> 106 </tr> 107 <tr> 108 <td>napiint64out</td> 109 <td>napi输出int64_t类型数据代码片段</td> 110 </tr> 111 <tr> 112 <td>napiboolout</td> 113 <td>napi输出bool类型数据代码片段</td> 114 </tr> 115 <tr> 116 <td>napistringutf8out</td> 117 <td>napi输出string utf8类型数据代码片段</td> 118 </tr> 119 <tr> 120 <td>napistringutf16out</td> 121 <td>napi输出string utf16类型数据代码片段</td> 122 </tr> 123 <tr> 124 <td>napistructrefin</td> 125 <td>napi输入struct引用代码片段</td> 126 </tr> 127 <tr> 128 <td>napistructrefout</td> 129 <td>napi输出struct引用代码片段</td> 130 </tr> 131 <tr> 132 <td>napiclassrefin</td> 133 <td>napi输入class引用代码片段</td> 134 </tr> 135 <tr> 136 <td>napiclassrefout</td> 137 <td>napi输出class引用代码片段</td> 138 </tr> 139 <tr> 140 <td>napiarrayrefin</td> 141 <td>napi输入array引用代码片段</td> 142 </tr> 143 <tr> 144 <td>napiarrayrefout</td> 145 <td>napi输出array引用代码片段</td> 146 </tr> 147 <tr> 148 <td rowspan="2">错误处理</td> 149 <td>napigetlasterrorinfo</td> 150 <td>获取最后一次napi调用失败相关的错误信息代码片段</td> 151 </tr> 152 <tr> 153 <td>napithrowerror</td> 154 <td>napi抛出JS错误对象代码片段</td> 155 </tr> 156</tbody> 157</table> 158**Aki snippets** 159 160<table><thead align="center"><tr><th class="cellrowborder" valign="top" width="12%" ><ul>版本号</ul></th> 161<th class="cellrowborder" valign="top" width="25%"><ul>场景</ul></th> 162<th class="cellrowborder" valign="top" width="18%"><ul>命令</ul></th> 163<th class="cellrowborder" valign="top" width="45%"><ul>描述</ul></th> 164</tr> 165</thead> 166<tbody> 167 <tr> 168 <td class="cellrowborder" valign="top" width="12%" rowspan="33">1.0.0</td> 169 <td class="cellrowborder" valign="top" width="25%">类</td> 170 <td class="cellrowborder" valign="top" width="18%">akiclass</td> 171 <td class="cellrowborder" valign="top" width="45%">aki 类使用场景代码片段</td> 172 </tr> 173 <tr> 174 <td>结构体</td> 175 <td>akistruct</td> 176 <td>aki 结构体使用场景代码片段</td> 177 </tr> 178 <tr> 179 <td>枚举</td> 180 <td>akienum</td> 181 <td>aki 枚举使用场景代码片段</td> 182 </tr> 183 <tr> 184 <td>同步</td> 185 <td>akisyncfunc</td> 186 <td>aki 同步方法使用场景代码片段</td> 187 </tr> 188 <tr> 189 <td rowspan="7">异步</td> 190 <td>akiasyncfunc</td> 191 <td>aki 异步方法使用场景代码片段</td> 192 </tr> 193 <tr> 194 <td>akicallfuncreturnstring</td> 195 <td>aki std::function回调场景代码片段</td> 196 </tr> 197 <tr> 198 <td>akicallbackreturnstring</td> 199 <td>aki 非线程安全回调场景代码片段</td> 200 </tr> 201 <tr> 202 <td>akisafecallbackreturnstring</td> 203 <td>aki 线程安全回调场景代码片段</td> 204 </tr> 205 <tr> 206 <td>akipromiseresolve</td> 207 <td>aki promise resolve代码片段</td> 208 </tr> 209 <tr> 210 <td>akipromisereject</td> 211 <td>aki promise reject代码片段</td> 212 </tr> 213 <tr> 214 <td>akiposttask</td> 215 <td>aki 往指定任务调度器投递任务代码片段</td> 216 </tr> 217 <tr> 218 <td rowspan="22">aki::Value</td> 219 <td>akipassvalueasbool</td> 220 <td>aki 将JS对象转换为C++ bool类型代码片段</td> 221 </tr> 222 <tr> 223 <td>akipassvalueasuint8</td> 224 <td>aki 将JS对象转换为C++ uint8类型代码片段</td> 225 </tr> 226 <tr> 227 <td>akipassvalueasint8</td> 228 <td>aki 将JS对象转换为C++ int8类型代码片段</td> 229 </tr> 230 <tr> 231 <td>akipassvalueasuint16</td> 232 <td>aki 将JS对象转换为C++ uint16类型代码片段</td> 233 </tr> 234 <tr> 235 <td>akipassvalueasint16</td> 236 <td>aki 将JS对象转换为C++ int16类型代码片段</td> 237 </tr> 238 <tr> 239 <td>akipassvalueasint</td> 240 <td>aki 将JS对象转换为C++ int类型代码片段</td> 241 </tr> 242 <tr> 243 <td>akipassvalueasint64</td> 244 <td>aki 将JS对象转换为C++ int64类型代码片段</td> 245 </tr> 246 <tr> 247 <td>akipassvalueasfloat</td> 248 <td>aki 将JS对象转换为C++ float类型代码片段</td> 249 </tr> 250 <tr> 251 <td>akipassvalueasdouble</td> 252 <td>aki 将JS对象转换为C++ double类型代码片段</td> 253 </tr> 254 <tr> 255 <td>akipassvalueasstring</td> 256 <td>aki 将JS对象转换为C++ string类型代码片段</td> 257 </tr> 258 <tr> 259 <td>akipassvalueasfunction</td> 260 <td>aki 将JS对象转换为C++ function类型代码片段</td> 261 </tr> 262 <tr> 263 <td>akiarraypushvalue</td> 264 <td>aki 使用CallMethod在C++中调用JS定义的方法代码片段</td> 265 </tr> 266 <tr> 267 <td>akipassvalueasobject</td> 268 <td>aki 在C++中动态创建一个新的JS对象,并对其进行操作代码片段</td> 269 </tr> 270 <tr> 271 <td>akicheckvalueisnull</td> 272 <td>aki 判断JS对象是否为null代码片段</td> 273 </tr> 274 <tr> 275 <td>akicheckvalueisbool</td> 276 <td>aki 判断JS对象是否为bool类型代码片段</td> 277 </tr> 278 <tr> 279 <td>akicheckvalueisnumber</td> 280 <td>aki 判断JS对象是否为number类型代码片段</td> 281 </tr> 282 <tr> 283 <td>akicheckvalueisstring</td> 284 <td>aki 判断JS对象是否为string类型代码片段</td> 285 </tr> 286 <tr> 287 <td>akicheckvalueisobject</td> 288 <td>aki 判断JS对象是否为object类型代码片段</td> 289 </tr> 290 <tr> 291 <td>akicheckvalueisarray</td> 292 <td>aki 判断JS对象是否为array类型代码片段</td> 293 </tr> 294 <tr> 295 <td>akicheckvalueisfunction</td> 296 <td>aki 判断JS对象是否为function类型代码片段</td> 297 </tr> 298 <tr> 299 <td>akivaluefromglobaljsonstringify</td> 300 <td>aki 在C++中访问全局定义的对象,调用JSON.stringify方法</td> 301 </tr> 302 <tr> 303 <td>akivaluefromglobaljsonparse</td> 304 <td>aki 在C++中访问全局定义的对象,调用JSON.parse方法</td> 305 </tr> 306 </tbody> 307</table>