以下这段代码是否合理 <pre> <code> ```js async function getData(rn1) { return new Promise((resolve, reject) => { setTimeout(() => { resolve('data'+rn1); }, 3000); }); } function i(){ vnwm_1=[7,8,9] var yy=vnwm_1.map(getData(rn1)) return yy } ``` </code> </pre>
时间: 2023-02-06 07:16:10 浏览: 58
这段代码中有几个问题。
1. 在`getData`函数中,`rn1`变量没有被定义。
2. 在`getData`函数的`resolve`语句中,存在一个未定义的变量`data rn1`。
3. 在`i`函数中,使用了未定义的变量`vnwm_1`和`rn1`。
因此,这段代码是不合理的。
相关问题
以下这段代码是否合理 ```js async function getData(rn1) { return new Promise((resolve, reject) => { setTimeout(() => { resolve('data'+rn1); }, 3000); }); } function i(){ vnwm_1=[7,8,9] var yy=vnwm_1.map(getData(rn1)) return yy } ```
这段代码存在一些问题。
首先,在 `getData` 函数中,参数 `rn1` 没有在函数内部使用到,这可能是代码编写时的错误。
其次,在 `i` 函数中,`vnwm_1` 数组中的每个元素都会调用 `getData` 函数,但是在调用时给出的参数是 `rn1`,这个变量在函数外定义,在函数内部是无法使用的。
此外,在 `getData` 函数中,resolve 函数的参数 `data rn1` 中的 `rn1` 变量同样没有在函数内部使用到,而且 `data` 变量也没有在函数外部定义。
因此,这段代码并不合理。
以下这段代码是否合理 ``` async function getData(rn1) { rn1++ return new Promise((resolve, reject) => { setTimeout(() => { resolve('data'+rn1); }, 3000); }); } function i(){ var vnwm_1=[7,8,9] var yy=vnwm_1.map(getData) return yy } ```
这段代码中存在一些语法错误。
首先,在 `async function getData(rn1)` 中,`rn1` 后面多了一个多余的空格。应该改为 `async function getData(rn1)`。
其次,在 `resolve(data rn1)` 中,`rn1` 前面缺少了运算符。如果你想获取变量 `rn1` 的值,应该改为 `resolve(data[rn1])`。
此外,在函数 `i` 中,使用了未声明的变量 `vnwm_1` 和 `yy`。如果要使用这些变量,应该在函数的开头使用 `var` 或 `let` 关键字声明这些变量。
因此,这段代码并不合理。