0

我在节点js中尝试了两个函数(异步函数,普通函数)。普通函数成功返回值。但是异步函数无法返回值。如何修复它

正常功能

index.js

var sample_data = require('./product')

const data = sample_data
console.log(data)

产品.js

function sample()
{
    console.log("hai")
    return "hello"
}

module.exports = sample

异步函数

index.js

var sample_data = require('./product')

const data = sample_data
console.log(data)

产品.js

async function sample()
{
    console.log("hai")
    return "hello"
}

module.exports = sample

正常功能

预期输出
hai
hello

异步函数

预期输出
hai
hello

但我得到了输出
[AsyncFunction: sample]

4

2 回答 2

1

有两种方法

使用then

sample().then(result => console.log(result));

await用于等待并获取结果,直到执行下一条语句

var result = await sample();
console.log(result);
于 2019-05-09T04:37:24.647 回答
0

异步函数将返回值包装在 promise 中,以便查看您需要的结果 .then()

   sample().then(result=>{console.lot(result)});
于 2019-05-09T04:15:24.900 回答