promise的两个形参
时间: 2024-03-06 21:27:27 浏览: 26
Promise 构造函数有两个形参:
1. executor(resolve, reject):executor 是一个带有 resolve 和 reject 两个参数的函数。在 Promise 执行器函数内部,我们可以执行一些异步操作(如发起网络请求、读取文件等),当异步操作执行成功时,调用 resolve 函数并传递异步操作的结果;当异步操作执行失败时,调用 reject 函数并传递错误信息。
2. handler(onFulfilled, onRejected):handler 是一个带有 onFulfilled 和 onRejected 两个参数的函数。当 Promise 对象的状态从 pending 转变为 fulfilled 时,会调用 onFulfilled 函数,将 Promise 对象的执行结果传递给它;当 Promise 对象的状态从 pending 转变为 rejected 时,会调用 onRejected 函数,将 Promise 对象的错误信息传递给它。在 Promise 链式调用中,then 函数的参数就是一个 handler 函数。
相关问题
那三个形参两个转换说明符呢
如果在printf函数中有三个形参但只有两个转换说明符,那么第一个转换说明符将与第一个形参对应,第二个转换说明符将与第二个形参对应,而第三个形参将被忽略。
例如,假设有以下代码:
```c
int num1 = 10;
int num2 = 20;
int num3 = 30;
printf("Number 1: %d\nNumber 2: %d\n", num1, num2, num3);
```
在这个例子中,格式字符串中有两个转换说明符"%d",但是有三个形参num1、num2和num3。printf函数将分别使用第一个形参num1与第一个转换说明符"%d"对应,以及第二个形参num2与第二个转换说明符"%d"对应。而第三个形参num3则会被忽略。
因此,输出结果将会是:
```
Number 1: 10
Number 2: 20
```
所以,在printf函数中,如果有多个形参但只有两个转换说明符,只有前两个形参会被输出,而后面的形参会被忽略。如果想要输出所有的形参值,需要在格式字符串中使用相应数量的转换说明符,并按照顺序将形参传递给printf函数。
strcpy形参可以是两个指针吗
是的,`strcpy` 的两个形参都是指针类型。其中,第一个形参 `dest` 是指向目标字符串缓冲区的指针,第二个形参 `src` 是指向源字符串的指针。这两个指针都是字符型指针,即指向字符数组或字符串的指针。
在函数调用时,`src` 指向的字符串将被复制到 `dest` 指向的缓冲区中。需要注意的是,`dest` 指向的缓冲区必须具有足够的空间来存储 `src` 指向的字符串,否则会导致缓冲区溢出的问题。
下面是 `strcpy` 函数的函数原型:
```c
char* strcpy(char* dest, const char* src);
```
其中,`dest` 和 `src` 都是指向字符数组的指针,`strcpy` 函数将 `src` 指向的字符串复制到 `dest` 指向的字符数组中,并返回 `dest` 的值。