gpt4 book ai didi

javascript - 无法从等待/异步函数获取数据

转载 作者:搜寻专家 更新时间:2023-11-01 00:19:33 25 4
gpt4 key购买 nike

我正在用 nodejs 试用 gtmetriks api。我有一个 index.js 文件,我在其中处理传入的请求,然后我有一个 gtmetriks.js 文件来向 api 发出请求。

问题是我不知道如何配置它才能在 gtmetriks.js 完成请求并获取数据后才获取 index.js 中的数据。

index.js:

const gtmetriks = require('../gtmetrix/gtmetrix');

router.get('/api/gtmetriks', (req, res) => {
const result = gtmetriks()
console.log(result);
res.send(result);
})

gtmetrriks.js:

const api = async () => {
console.log('starting');

// Run test from London with Google Chrome
const testDetails = {
url: 'http://google.com/',
location: 2,
browser: 3
};
const test = await gtmetrix.test.create(testDetails);
console.log('test: ', test);

const data = await gtmetrix.test.get(test.test_id, 5000);
console.log('data: ', data);

return data
}

module.exports = api;

浏览器中的结果是 {}。我假设这是“结果”的值,因为这是它在初始化时获得的值。

我该怎么办?

最佳答案

您的 api 函数是 async ,因此返回您需要在路由处理程序中等待的 Promise :)

尝试

router.get('/api/gtmetriks', async (req, res) => {
const result = await gtmetriks()
console.log(result);
res.send(result);
})

关于javascript - 无法从等待/异步函数获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55049227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com