我的代码如下:
function DBManager() {
this.getContactsList = function() {
$.post('/post/getContactsList', function (contacts) {
return contacts;
});
}
}
var DBManager = new DBManager();
console.log(FF_DBManager.getContactsList());
但是我得到undefined
而不是从帖子的回复中看到结果。
最佳答案
我喜欢在这些情况下使用的一个例子。
同步函数的工作原理如下。你告诉你的妻子你要出去购物,递给她一张白纸并告诉她写下她想让你买的东西。你等到她写下来,然后去商店。
异步函数的工作原理如下。你告诉你的妻子你要出去购物,递给她一张白纸,让她写下她想让你买的东西,当她完成后,把纸给你并告诉你你去商店;你会等待她的指示。然后你就忘了这件事并开始阅读晚报。
在不了解自己在做什么的情况下使用异步函数,就像您在原始帖子中所做的那样,您做了类似的事情。你告诉你的妻子你要出去购物,递给她一张白纸,让她写下她想让你买的东西,当她完成后,把纸给你并告诉你你去商店。然后,您立即去商店,当您在身上找不到妻子的文件时,您感到很困惑。你回家,继续读晚报。然后,你的妻子给了你她的 list ,并试图告诉你去商店,但你忽略了她,认为你的工作已经完成。
关于javascript - AJAX 和返回(异步相关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23003550/