Запись в папку «Входящие» [дубликат]

Краткий ответ: ваш метод foo() возвращается немедленно, а вызов $ajax() выполняется асинхронно после возврата функции . Проблема заключается в том, как и где сохранить результаты, полученные при вызове async, после его возврата.

В этом потоке было задано несколько решений. Возможно, самый простой способ - передать объект методу foo() и сохранить результаты в члене этого объекта после завершения асинхронного вызова.

function foo(result) {
    $.ajax({
        url: '...',
        success: function(response) {
            result.response = response;   // Store the async result
        }
    });
}

var result = { response: null };   // Object to hold the async result
foo(result);                       // Returns before the async completes

Обратите внимание, что вызов foo() ] все равно не вернут ничего полезного. Однако результат асинхронного вызова теперь будет сохранен в result.response.

7
задан hichris123 5 October 2014 в 01:03
поделиться

1 ответ

С Android 4.4 некоторые вещи изменились в отношении SMS. Среди них тот факт, что только приложение, зарегистрированное в качестве стандартного SMS-приложения, имеет доступ на запись к провайдеру.

Проверьте здесь короткое сообщение об изменениях в SMS.

Проверьте эту ссылку для более глубокого просмотра. Это объясняет, какими критериями должно соответствовать ваше приложение, чтобы быть стандартным приложением для обмена сообщениями.

И вот официальный забавный материал.

Итак, если ваше приложение это не приложение для обмена сообщениями по умолчанию, поэтому функции перестали работать.


Возможное обходное решение для ограничения по умолчанию для провайдера можно найти в ответе здесь .

16
ответ дан Community 25 August 2018 в 15:07
поделиться
Другие вопросы по тегам:

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