Как сказал @Maneesh, это может быть вызвано тем, что функция вызывается несколько раз, не ожидая ответа. Вы упомянули, что уже добавили таймаут в Axios, но есть известная проблема , из-за которой простое добавление тайм-аута в Axios не работает. (У меня сама эта проблема уже была в прошлом)
Существует обходной путь для установки тайм-аута для запроса - вручную прервать запрос, используя cancelToken
и обычный javascript [112 ]
function setRequestTimeout(source, timeout) {
setTimeout(() => {
source.cancel('timeout')
}, timeout);
}
function getRequest() {
return new Promise((resolve, reject) => {
const timeout = 10000
let source = axios.CancelToken.source()
setRequestTimeout(source, timeout)
try {
const response = await axios.get('/your-address/', {
timeout: timeout,
headers: {
'Content-type': 'application/json'
},
cancelToken: source.token
})
resolve(response)
} catch (error) {
reject(error)
}
})
}
Это работало для меня в прошлом, мое решение основано на комментариях, найденных в этой проблеме, о которой я упоминал ранее, надеюсь, это поможет вам!
Проверьте C# 3.0's Инициализаторы Набора.
var list = new List<string> { "test1", "test2", "test3" };
Если Вы надеетесь уменьшать помеху, рассмотреть
var lst = new List<string> { "foo", "bar" };
Это использует две функции C# 3.0: вывод типа ( var
ключевое слово) и инициализатор набора для списков.
С другой стороны, если можно суметь обойтись массивом, это еще короче (небольшим количеством):
var arr = new [] { "foo", "bar" };
IList<string> list = new List<string> {"test1", "test2", "test3"}
В C# 3 можно сделать:
IList<string> l = new List<string> { "test1", "test2", "test3" };
Это использует новый синтаксис инициализатора набора в C# 3.
В C# 2 я просто использовал бы Вашу вторую опцию.
Можно отбросить new string[]
часть:
List<string> values = new List<string> { "one", "two", "three" };
Можно упростить ту строку кода немного в C# при помощи инициализатора набора.
var lst = new List<string> {"test1","test2","test3"};
Список значений быстро? Или даже список объектов!
Я - просто новичок в языке C#, но мне нравится использовать
и т.д.
Существует только слишком много способов сохранить объекты