1Future Ответов: 1

Сообщение Referenceerror в javascript ?


Привет ,

Почему я получаю следующую ошибку: * ReferenceError: результат не определен"*

Что я уже пробовал:

function returnData(){
    
    _myService.getData().then(function(data){
      
      var result = data;
    })

return result;
}

F-ES Sitecore

Я не понимаю, как этот код может дать вам такую ошибку. Я собираюсь предположить, что вы используете "результат" в другом месте, например

returnData();
ВАР х = результат.someProperty;

1Future

извиняюсь.. я только что обновил вопрос ..return result вместо return data

1 Ответов

Рейтинг:
2

Richard Deeming

То getData функция возвращает a Обещать - что-то, что даст результат в какой-то момент в будущем.

Обещания[^]
Обещания JavaScript ... В Зловещих Деталях-Мэтт Грир[^]

Функция, к которой вы переходите then не будет выполняться до тех пор, пока не будет получен результат. Это будет в какой-то момент после твой returnData функция вернулась.

Вы не можете вернуть результат асинхронной операции до ее завершения. Вам нужно будет изменить свою функцию, чтобы вернуть обещание, а затем переместить код, использующий результат функции, в обратный вызов:

function returnData(){
    return _myService.getData();
};

...

returnData().then(function(data){
    // Do something with the data here...
});