$.couch.db().openDoc() и db.getDoc асинхронны, верно?
Пытаясь вызвать методы субъекта, и это прекрасно работает, я получаю всю необходимую информацию из документов, запрошенных в методах. Теперь я хочу использовать эту информацию вне методов и всякий раз, когда я пытаюсь, чтобы переменная выходила undefined
,
Из того, что я прочитал, эти методы asynchronous
и, следовательно, undefined
результат.
Итак, как это решить? Делать $.ajax({.. async:false..})
работает против этой цели, *a* jax - это *a* sync. Любые предложения, кроме вопросов и ответов async:false
вариант?
1 ответ
Через некоторое время исследования и обходы, это мое решение:
использование $.ajax({async:false});
и вызвать его в форке (веб-рабочий), чтобы избежать блокировки.
Это не красиво - но это работает.
Тем не менее: есть ли красивые решения там?
РЕДАКТИРОВАТЬ: Есть более симпатичные решения там, и они на самом деле решения вместо того, что я написал выше. Их называют "обратными вызовами", и я до сих пор не полностью понял эту концепцию. Если вы не хотите делать мою ошибку, пожалуйста, потратьте несколько минут здесь и сэкономьте несколько часов мучений.