В node.js 12.13.0 я использую модуль node-fetch
для создания некоторых сообщений.
Документация по использованию пользовательского агента находится здесь :
Там, похоже, указывается, что вы должны создавать новый пользовательский агент для каждой получаемой вами выборки. Однако я вижу, что он также работает для создания одного настраиваемого агента (во внешней области), а затем просто ссылается на тот же самый настраиваемый агент для всех последующих выборок.
Пример:
import { default as fetch } from 'node-fetch';
import { default as http } from 'http';
import { default as https } from 'https';
const httpAgent = new http.Agent({ keepAlive: true });
const httpsAgent = new https.Agent({ keepAlive: true });
export async function post(obj, toURL)
{
let options = {};
options.method = "POST";
// Other options are omitted here for the sake of brevity
// The pertinent option is agent. Notice that the http and
// https agents were created outside the scope of this function,
// and are therfore reused each time this fucntion is called.
options.agent = function (_parsedURL)
{
if (_parsedURL.protocol === 'http:')
{
return httpAgent;
}
else
{
return httpsAgent;
}
};
return fetch(toURL, options);
}
Есть ли какие-либо недостатки в создании только одного настраиваемого https.agent, а затем ссылки на этот синглтон в параметрах всех последующих выборок?