Вопрос по javascript, jquery, ajax, asynchronous – Функция возвращает асинхронный ответ [дубликат]

0

This question already has an answer here:

How do I return the response from an asynchronous call? 33 answers

Как человек спросил здесь (но его решения, как вызвать другую функцию)https://stackoverflow.com/a/10796326/315200 ... Я хотел бы знать, возможно ли иметь функцию, которая не вызывает вторую функцию в ответ на асинхронный запрос, а простоreturn когда асинхронный запрос отвечает.

Something like this maybe:

function callToFacebook() {
    var fbResponse;

    FB.api('/me', function (response) {
        fbResponse = response;
    });

    return fbResponse; //Will return undefined because CallToFacebook is async
}

Разве это не возможно каким-то образом, без вызова другой функции?

То, что я пытаюсь достичь, - это иметь одну функцию, которую я могу вызвать с некоторыми параметрами, которая будет возвращать ответobject из асинхронного веб-сервиса, такого как FB.

@FelixKling. ЛОЛ. gdoron
Если бы это было возможно, это было бы дано как ответ вместо этого. Felix Kling

Ваш Ответ

2   ответа
2

имое значение синхронно, потому что это значение не существует в то время (так как оно создается асинхронно в фоновом режиме).

Вы можете, однако, вернутьобещание объект, представляющий «потенциальное возвращаемое значение»; асинхронной операции, и связать функцию с этим объектом, используясделанный() или похожие. Таким образом, ваша функция получает семантику возврата (вместо того, чтобы связывать поток управления в обратный вызов) и остается асинхронной.

Можете ли вы привести один пример этого в jsfiddle плз
2

Noэто невозможно.

Вы не можете возвращать значение, которое возвращается из асинхронной операции.

Подумайте об этом, вы говорите 10 людям, чтобы они участвовали в соревнованиях по бегу на одну милю, они начинаются сейчас, заканчиваются через минуту + -, но вы хотите знать ответnowэто невозможно, если вы не обманываете ...

@KennethB. Так что ответ невозможен,
Я просто хочу, чтобы функция ждала ответа, а не гадала и не жульничала. curly_brackets

Похожие вопросы