#javascript #reactjs
Вопрос:
Как подождать getstatus(statustable).then(function(response)
, что нужно сделать, прежде чем перейти туда console.log("old");
, где getstatus является асинхронной функцией, вернет новое обещание
var count = "old";
getstatus(statustable).then(function(response){
console.log("changeing count")
count = "new";
console.log(count)
});
console.log("old");
Комментарии:
1. использовать
async-await
2. Можете ли вы объяснить, как это связано с реакцией, потому что, возможно, есть полезный ответ, который включает состояние, но ваш код его не показывает.
Ответ №1:
Положите console.log("old");
внутрь .then
. Все, что вы хотите выполнить наверняка после обещания, вам придется поместить в ту .then
или иную .then
цепочку после него.
Если вы хотите написать его последовательно, вам придется использовать async/await.
Ответ №2:
Вы можете подождать на GetStatus
var count = "old";
await getstatus(statustable).then(function(response){
console.log("changeing count")
count = "new";
console.log(count)
});
console.log("old");
Вся функция, частью которой это является, должна быть асинхронной.
Если вы не можете изменить функцию на асинхронную, вам нужно будет сделать так, как предложил @Tushar Shahi, и поместить последний журнал консоли в другой, как показано ниже
var count = "old";
getstatus(statustable).then(function(response){
console.log("changeing count")
count = "new";
console.log(count)
}).then (() => {
console.log("old");
});