Jquery $.coach.db().openDoc()&;db.getDoc是异步的,对吗?
尝试调用subject的方法,效果很好,我从方法中的文档中获取所需的任何信息。现在,我想在方法之外使用这些信息,每当我尝试变量出现时Jquery $.coach.db().openDoc()&;db.getDoc是异步的,对吗?,jquery,asynchronous,couchdb,kanso,Jquery,Asynchronous,Couchdb,Kanso,尝试调用subject的方法,效果很好,我从方法中的文档中获取所需的任何信息。现在,我想在方法之外使用这些信息,每当我尝试变量出现时未定义时 据我所知,这些方法是异步的,因此是未定义的结果 那么,如何解决呢?做一个$.ajax({..async:false..})有点违背目的,*a*jax就是*a*sync。除了Q&Dasync:false选项之外,还有什么建议吗?在一些litt之后。研究和破解,这是我的解决方案: 使用$.ajax({async:false})并在fork(web worker
未定义时
据我所知,这些方法是异步的
,因此是未定义的
结果
那么,如何解决呢?做一个$.ajax({..async:false..})
有点违背目的,*a*jax就是*a*sync。除了Q&Dasync:false
选项之外,还有什么建议吗?在一些litt之后。研究和破解,这是我的解决方案:
使用$.ajax({async:false})代码>并在fork(web worker)中调用它以避免锁定
它并不漂亮,但它确实有效
不过:有什么好的解决方案吗
编辑:有更漂亮的解决方案,它们实际上是解决方案,而不是我上面写的。它们被称为“回调”,我直到刚才才完全理解这个概念。如果你不想犯我的错误,请投入几分钟,省下几个小时的痛苦 我想你应该问问自己,为什么需要在浏览器中同步调用某些东西。这些方法采用回调参数,当结果准备就绪时将调用该参数。@MarekKowalski。是的,你完全正确。我对回调概念的理解相当肤浅。作业已经完成,下面我自己的答案也相应地修改了。谢谢你没有给我答案,而是让我问正确的问题-基础上所有科学的休息。忘记-写一个答案,你就得到了我的选票。干杯