Я работаю над нагрузочным тестированием моего API, но в какой-то момент я вызываю другой API. Так как я не хочу подчеркивать второй, всякий раз, когда я загружаю тестирование, я хочу установить тайм-аут и вернуть ответ OK, как это:
function sendMessage(requestLib, blockApi, logger) {
if(!blockApi){
return (*my params*) => requestLib(`someURL`, {
headers: { Authorization: `Bearer ${token}` },
method: 'post',
data
});
}else{
logger.info("About to use the promise");
const response = returnOk.then(function() {
return new Response(200, {}, null, 'dummy.com');
});
return response;
}
}
returnOk - Обещание, которое я определил ранее таким образом :
const returnOk = new Promise((resolve, reject) => {
setTimeout( function() {
resolve("Success!")
}, 2000)
});
И функция sendMessage
вызывается внутри другой функции, подобной этой:
module.exports = ({ requestLib, Logger }) => async function(req, res) {
// Some unrelated code to decide if I'll call sendMessage
const response = await sendMessage(requestLib, blockApi, logger)(params);
// I log the response
res.end();
}
Обычный поток работает как шарм, но когда я тестирую нагрузку и Я получаю returnOk.then () ... Выдает
sendMessage (...) не является функцией
Если я удаляю таймаут и просто возвращаю
return new Response(200, {}, null, 'dummy.com');
Все работает отлично.