以下这段代码是否合理 ``` 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 } ```
时间: 2023-02-06 07:04:15 浏览: 53
这段代码中存在一些语法错误。
首先,在 `async function getData(rn1)` 中,`rn1` 后面多了一个多余的空格。应该改为 `async function getData(rn1)`。
其次,在 `resolve(data rn1)` 中,`rn1` 前面缺少了运算符。如果你想获取变量 `rn1` 的值,应该改为 `resolve(data[rn1])`。
此外,在函数 `i` 中,使用了未声明的变量 `vnwm_1` 和 `yy`。如果要使用这些变量,应该在函数的开头使用 `var` 或 `let` 关键字声明这些变量。
因此,这段代码并不合理。
相关问题
以下这段代码是否合理 ``` async function getData(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 } ```
这段代码看起来是合理的。
它定义了一个名为 `getData` 的异步函数,该函数接受一个参数 `rn1`,并在三秒钟后返回一个包含字符串 "data rn1" 的 Promise 对象。
另外,它还定义了一个名为 `i` 的函数,该函数创建了一个名为 `vnwm_1` 的数组,并使用 `map` 函数将该数组的每个元素都映射到 `getData` 函数上,最后返回映射后的数组。
但是,这段代码有一个问题:`getData` 函数中的 `resolve` 语句传入的字符串 "data rn1" 中有一个语法错误,应该是 "data" 加上变量 `rn1`,而不是 "data 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` 变量也没有在函数外部定义。
因此,这段代码并不合理。