首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript节点-获取同步获取

Javascript节点-获取同步获取
EN

Stack Overflow用户
提问于 2018-09-03 08:38:31
回答 4查看 23.8K关注 0票数 17

我正在尝试使用nodejs nodejs对我的个人api进行api调用。我希望能够在后台用我的数据库进行更新/更改时,在这个周期内同步更新某些值。我知道异步和等待是存在的,但是在我的googling中,我仍然不太理解它们或者它们是如何与获取请求交互的。

这是一个示例代码,我正在尝试工作,但仍然只是未定义的日志

代码语言:javascript
运行
复制
const fetch = require('node-fetch');
const url = 'http://example.com';
let logs;

example();
console.log(logs);
async function example(){
    //Do things here
    logs = await retrieveLogs();
    //Do more things here
}

async function retrieveLogs(){
    await fetch(url)
    .then(res => res.json())
    .then(json => {return json})
    .catch(e => console.log(e))
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-09-03 08:57:44

我认为您需要返回这样的retrieveLogs函数结果:

代码语言:javascript
运行
复制
async function retrieveLogs(){
    return await fetch(url)
    .then(res => res.json())
}
票数 15
EN

Stack Overflow用户

发布于 2020-05-13 13:19:06

正如Ali在评论中所说的那样,fetch()是一个异步函数,无论如何都不能“同步”。如果您必须使用HTTP同步获取(例如,因为您必须在属性getter中使用它,而属性getter不能是异步的),那么您必须使用不同的HTTP客户端,即句号。

票数 5
EN

Stack Overflow用户

发布于 2021-03-09 14:22:50

代码语言:javascript
运行
复制
npm install sync-fetch

围绕Fetch API的同步包装器。在引擎盖下使用节点-fetch,以及一些输入解析代码和测试用例。

https://www.npmjs.com/package/sync-fetch

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52146053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档