最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

查询直到快递服务器准备好响应为止

IT培训 admin 6浏览 0评论

查询直到快递服务器准备好响应为止

我有一个快速应用程序,它在启动后会从外部源获取外部数据。在应用程序中提取数据之前,这将使用默认模板响应所有查询。

在最初的3或4秒钟内,应用正在使用该模板进行响应,然后正常工作。

这实际上是一个问题。我想避免该默认响应。我想检查(服务器运行之后)是否已获取数据,然后等待直到准备好发送正确的响应。

也就是说,尽管头几秒钟,客户端仍会感觉该应用程序运行缓慢,这将始终收到正确的响应。

回答如下:

我做了这样的事情:

async function fun (req, res, next)  {
    while (!sitemap['/'] && Object.keys(sitemap).length == 0) {
        await new Promise(done => setTimeout(done, 20));
    }
    next();
}

app.use(fun);

我想,这是一个虚拟的解决方案,但显然可行。我强行提取数据至少需要10秒钟,并将此功能用作中间件,客户端一直等到服务器完成加载数据为止。

也许有人可以告诉我是否还好。

查询直到快递服务器准备好响应为止

我有一个快速应用程序,它在启动后会从外部源获取外部数据。在应用程序中提取数据之前,这将使用默认模板响应所有查询。

在最初的3或4秒钟内,应用正在使用该模板进行响应,然后正常工作。

这实际上是一个问题。我想避免该默认响应。我想检查(服务器运行之后)是否已获取数据,然后等待直到准备好发送正确的响应。

也就是说,尽管头几秒钟,客户端仍会感觉该应用程序运行缓慢,这将始终收到正确的响应。

回答如下:

我做了这样的事情:

async function fun (req, res, next)  {
    while (!sitemap['/'] && Object.keys(sitemap).length == 0) {
        await new Promise(done => setTimeout(done, 20));
    }
    next();
}

app.use(fun);

我想,这是一个虚拟的解决方案,但显然可行。我强行提取数据至少需要10秒钟,并将此功能用作中间件,客户端一直等到服务器完成加载数据为止。

也许有人可以告诉我是否还好。

发布评论

评论列表 (0)

  1. 暂无评论