gpt4 book ai didi

javascript - 设计代码工作流程

转载 作者:行者123 更新时间:2023-11-28 09:47:28 28 4
gpt4 key购买 nike

我正在编写一些代码来与 API 交互,为了使用该 API,您需要获取用于其余请求的 session key , session key 将在一段时间后失效,因此代码还需要准备重新验证。

代码本身和 API 都不相关,因为它是一个关于如何设计代码流程的问题,我正在寻找最好的方法来做到这一点。

我这里没有代码(javascript/node.js),但它基本上是伪代码的样子:

function getResult {
data = foobar
return getData(data, callback)
}

function getData(data, callback) {
*building query (including the session-key) and getting data via http*
if error == noauth
auth()
// What should happen here, I need to rerun the query
else
callback(result)
}

function auth {
data = foobar
getData(data, callback(?))
// it returns a session-key to use
//What should happen here?
}

最佳答案

我会做这样的事情:

function GetAuth(auth_params)
{
// get session key
return session key;
}

function MyAPIWorker(auth_params)
{
this._auth_params = auth_params;
this._current_auth = null;
}

MyAPIWorker.prototype.do(action)
{
if (this._current_auth == null)
{
this._current_auth = GetAuth();
}
var result = action(this._current_auth);
if (result == no_auth_error)
{
this._current_auth = GetAuth();
result = action(this._current_auth);
}
return result;
}

然后使用它:

worker = new MyAPIWorker(/* auth params here */);
worker.do(function (sessionKey) { /* do something with session key */});
/** blah blah **/
worker.do(function (sessionKey) { /* do other something with session key */});

工作人员将为您处理所有繁重的工作...

关于javascript - 设计代码工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11581425/

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