作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的页面上有很多页面方法。每种方法都用于从数据库中获取数据。我按照以下方式订购了它们。但我的问题是成功方法之外但主函数内部的行在页面方法完成该过程之前正在工作
function check_valid()
{
// some code
Pagemethod1
function suc1()
{
//some code
PageMethod2
function suc2()
{
//some code
Page Method3
function suc3()
{
//some code
}
function err3(){}
}
function err2(){}
}
function err1(){}
return true; //this line is working before the pagemethods complete the process
}
最佳答案
我不熟悉“PageMethods”,但听起来这些函数都是异步的,因为它从远程数据库接收数据。由于 JavaScript 在单个线程中运行,因此异步进程通常可以选择附加一个回调函数,该函数会在进程完成后触发。这允许 javascript 在等待缓慢的数据库调用时执行其他操作,例如返回 true
,从而解释您的观察结果。
相反,请在数据库 API 中使用回调模式:
editDatabase(args*, function() {
//Stuff to do database call is complete
});
或者,您的数据库 API 可能会使用事件模式:
var myDb = new DB();
myDb.edit(args*)
myDb.bind('complete', function() {
//Stuff to do database call is complete
});
或者,您的数据库 API 可能会使用 Promise,您可以阅读 here 。
如果您正在从同步语言迁移,这些模式可能需要一些时间来适应,但它们对于 JavaScript 来说是必不可少的。您还可以找到有关 JavaScript 异步方面的良好指南 here .
关于javascript - PageMethods 减慢了进程并按降序工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22952891/
序 大家好呀,我是summo,这次来写写我在上班空闲(摸鱼)的时候做的一个小网站的事。去年阿里云不是推出了个活动嘛,2核2G的云服务器一年只要99块钱,懂行的人应该知道这个价格在业界已经是非常良心了
我尝试根据给定的级别顺序(BFS 顺序)构造 BST。我知道这是可能的,但我不知道我该怎么写。问题是我必须使用 BFS 序列。所以,我不能在这里使用递归,我必须迭代地编写我的程序......我发现这有
我是一名优秀的程序员,十分优秀!