尝试获取函数以返回其中包含已推送数据的arr,但由于某种原因其未将其返回

埃里克·德卢纳(Erik De Luna):

在这里,我需要主索引文件中的sql为数据库添加种子,并检查sql查询是否返回

// require sql connection from main index
const connection = require('./index');


async function tow() {
    let arr = []; 

    let one  = await connection.query("Select name FROM department", (err, res) => {
        if (err) throw err;
        // console.log(res);
        console.log('1'arr);
        for (let i = 0; i < res.length; i++) {
            // pushing to the array here 
            arr.push(res[i].name);
        }
        console.log('2',arr);

    });
    console.log('3',arr);
    return one;

}

// I want this function to return array with the pushed elements 
tow();



埃文·莫里森(EvanMorrison):

您需要返回arr。同样,您将promise样式与异步的回调样式混合在一起,可以选择一种,但不能混合。尝试这样的事情。

如果connection.query返回一个promise:

async function tow() {
  let arr = []; 
  let one  = await connection.query("Select name FROM department").then(res => {
    // console.log(res);
    console.log('1', arr);
    for (let i = 0; i < res.length; i++) {
        // pushing to the array here 
        arr.push(res[i].name);
    }
    console.log('2',arr);
    return arr; // need to return arr

},
err => console.error(err));
console.log('3',arr);
return one;  
}

tow().then(res => console.log('result', res));

在您的情况下,如果connection.query希望有回调函数,则可以将回调转换为类似的Promise。

function tow() {
  return new Promise((resolve, reject) => {
    let arr = []; 
    connection.query("Select name FROM department", (err, res) => {
      if (err) reject();
      // console.log(res);
      console.log('1', arr);
      for (let i = 0; i < res.length; i++) {
          // pushing to the array here 
          arr.push(res[i].name);
      }
      console.log('2',arr);
      resolve(arr);
    });
  })
}

// I want this function to return array with the pushed elements 
tow().then(res => console.log('result', res));

这是一个代码沙箱

编辑optimistic-volhard-hdwqt

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我正在尝试以特定方式读取文件,但由于某种原因,它返回随机的空白

forEach 函数由于某种原因返回 undefined

我尝试使用网络抓取从 eBay 的已售和拍卖物品中获取数据,但由于某种原因,我收到了 NoneType 错误

Erlang Spawn由于某种原因返回undef

我有正在工作的<a>链接,但由于某种原因已停止

我使用捆绑传输数据,但由于某种原因,数据仅传输1次

我正在尝试更改 onTap 容器的颜色,但由于某种原因它不起作用

JavaScript:尝试使用由于某种原因无法运行的类函数

由于某种原因,Get-VM 命令并不总是返回 Notes?

循环由于某种原因被卡住,然后最终返回未定义

由于某种原因未执行 onsubmit 函数

我有一份AMP表格,但由于某种原因,提交时出错

我需要在程序中使用此功能,但由于某种原因输出冻结

我正在尝试编写一个素数识别器,但由于某种原因它不起作用

我正在尝试使用 for 循环仅打印来自某些输入的大写字母以迭代槽字符,但由于某种原因它不起作用

正则表达式提取子字符串,由于某种原因返回2个结果

我以编程方式添加了滚动,但由于某种原因,它并未在一开始就启动

R 中的 which() 函数由于某种原因不起作用

由于某种原因,MATCH 函数对表头不起作用

由于某种原因无法调用函数——使用 localStorage 作为脚本

无法使用 clearTimeout 停止 setTimeout 函数,因为值由于某种原因为空

JS:由于某种原因,jQuery中的addClass函数什么都不做

由于某种原因,多维数组不会改变函数中的元素

pd.RangeIndex函数由于某种原因不起作用

我正在尝试使用BaseAdapter使用占位符数据填充ListView并将其放入片段中,但是由于某种原因应用程序在启动时崩溃

在iOS中调用insertRowToIndexPath后由于某种原因未保存数据

Bower 由于某种原因无法安装?

由于某种原因无法传递变量?的PHP

由于某种原因无法从RejectedExecutionException中恢复