$.couch.db().openDoc() 和 db.getDoc 是异步的,对吗?

Posted

技术标签:

【中文标题】$.couch.db().openDoc() 和 db.getDoc 是异步的,对吗?【英文标题】:$.couch.db().openDoc() & db.getDoc are asynchronous, right? 【发布时间】:2013-09-03 16:24:37 【问题描述】:

尝试调用主题的方法并且效果很好,我从文档中获得所需的任何信息方法中。现在我想在方法之外使用该信息,并且每当我尝试输出变量undefined

根据我的阅读,这些方法是 asynchronous,因此是 undefined 结果。

那么,如何解决呢?执行$.ajax(.. async:false..) 类型的工作违背了目的,*a*jax 是 *a*sync。除了 Q&D async:false 选项,还有什么建议?

【问题讨论】:

我想你应该问问自己为什么需要在浏览器中同步调用某些东西。这些方法带有回调参数,当结果准备好时将调用该参数。 @MarekKowalski。是的,你完全正确。我对回调概念的理解相当肤浅。作业现在已经完成,我自己的答案在下面进行了相应的编辑。感谢您没有给出答案,而是让我提出正确的问题 - 所有科学的基础。 @MarekKowalski。忘了 - 写一个答案,你就得到了我的投票。干杯! =) 【参考方案1】:

过了一会儿。研究和破解,这是我的解决方案:

使用$.ajax(async:false); 并在fork(网络工作者)中调用它以避免锁定。

它并不漂亮 - 但它有效。

仍然:有什么漂亮的解决方案吗?

编辑:那里有更漂亮的解决方案,它们实际上是解决方案,而不是我上面写的。它们被称为“回调”,直到刚才我还没有完全理解这个概念。如果您不想犯我的错误,请花几分钟 here 并为自己节省几个小时的痛苦。

【讨论】:

以上是关于$.couch.db().openDoc() 和 db.getDoc 是异步的,对吗?的主要内容,如果未能解决你的问题,请参考以下文章

csharp 例如-CSHARP-GroupDocs.AssemblyExamples-GenerateReport-GenerateBulletedListFromDatabaseinOpenDoc

csharp 例如-CSHARP-GroupDocs.AssemblyExamples-GenerateReport-GenerateBulletedListFromDatabaseinOpenDoc

csharp 例如-CSHARP-GroupDocs.AssemblyExamples-GenerateReport-GenerateNumberedListFromDatabaseinOpenDoc

csharp 例如-CSHARP-GroupDocs.AssemblyExamples-GenerateReport-GenerateNumberedListFromDatabaseinOpenDoc

Couchapp 在查询视图时返回 304

使用 odfpy 合并单元格