- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
你能给我解释一下下面的短语(摘自 an answer to Stack Overflow question What are the differences between Deferred, Promise and Future in Javascript? )吗?
使用 jQuery 的优点是什么? promise 不使用以前的 jQuery 回调?
Rather than directly passing callbacks to functions, something which can lead to tightly coupled interfaces, using promises allows one to separate concerns for code that is synchronous or asynchronous.
最佳答案
A promise is an object that represents the result of an asynchronous operation ,因此您可以传递它,这为您提供了更大的灵 active 。
如果您使用回调,则在调用异步操作时,您必须指定如何处理它,因此需要耦合。通过 promise ,您可以指定稍后将如何处理它。
这是一个示例,假设您想通过 ajax 加载一些数据,并且在这样做时您想要显示一个加载页面。
void loadData = function(){
showLoadingScreen();
$.ajax("http://someurl.com", {
complete: function(data){
hideLoadingScreen();
//do something with the data
}
});
};
处理返回数据的回调必须调用 hideLoadingScreen。
使用 promises,您可以重写上面的代码片段,使其更具可读性,并且您不必将 hideLoadingScreen 放在 complete 回调中。
var getData = function(){
showLoadingScreen();
return $.ajax("http://someurl.com").promise().always(hideLoadingScreen);
};
var loadData = function(){
var gettingData = getData();
gettingData.done(doSomethingWithTheData);
}
var doSomethingWithTheData = function(data){
//do something with data
};
更新:我写了一个 blog post它提供了额外的示例,并清楚地描述了什么是 promise 以及如何将其使用与使用回调进行比较。
关于javascript - 为什么回调比 promise 更多 "tightly coupled"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21141817/
我有一个数据文件,我想创建一个 pm3d map 点阵。代码: set term pngcairo size 800,600 set out "test.png" set pm3d map splot
这句话我听过很多次了。这是什么意思? 举个例子会有所帮助。 最佳答案 来自Wiktionary : (计算)在汇编语言中,包含少量指令并迭代多次的循环。 (计算)此类循环大量使用 I/O 或处理资源,
具有键/值对“紧密”重复模式的字符串(对于此示例,键是“name”,值应该是单个小写单词) string text = "name: abc name: def name: ghi name: jkl
这是我的 HTML 的结构: Some text Not much text Some text Not much text Some text Not much text 我有三个
我经常使用 matplotlib 生成单个图形,这些图形应该垂直或水平对齐,例如在 LaTeX 文档中。我的目标是: 避免在所有图中留出过多的边距或剪裁。对于独立图形,这可以通过使用 bbox_inc
好的,所以我在这里被观察者模式困住了,我读过的几乎所有教程都告诉主题类订阅观察者。 但是考虑到封装,这怎么能不紧密耦合呢?他们仍然相互依赖,不是吗? 我的意思是,subject Class必须知道观察
根据documentation , ax.autoscale(tight=True) 应该 If True, set view limits to data limits; 与 ax.axis('ti
似乎 savefig 中的 bbox_inches='tight' 选项忽略了没有文本的注释。这是我的示例代码 import matplotlib.pyplot as plt fig = plt.fi
我正在尝试创建我的网页,但我遇到了 float 问题。 这是我的 HTML 代码: InformacjeAutokoder.pl jest obecnie najbardziej innowa
我有一个程序可以将其进度打印到控制台。每 20 步,它会打印步数,例如 10 20 30 等,但在此范围内,它会打印一个点。这是使用末尾带有逗号的 print 语句打印的 (python 2.x)
当您在 Matplotlib 的 savefig() 函数中设置 bbox_inches = 'tight' 时,它会尝试找到封装图形窗口中所有内容的最紧密的边界框。不幸的是,最紧密的边界框似乎包含不
我在 ipython 笔记本中使用以下代码将条形图保存为 .png 文件: plt.savefig(文件名, bbox_inches='tight') 它在我的电脑上运行,我试过在另一台电脑上运行脚本
我必须绘制一个矢量图,我只想看到没有轴、标题等的矢量,所以我尝试这样做: pyplot.figure(None, figsize=(10, 16), dpi=100) pyplot.quiver(da
你能给我解释一下下面的短语(摘自 an answer to Stack Overflow question What are the differences between Deferred, Pro
我正在开发一个 WordPress 插件,并努力确保最佳实践。我有两个类,我的插件类“Jargonaut”是必需的,然后是另一个名为“Dictionary”的类,它随 require_once() 包
我一点也不擅长设计,我只是想在 Bootstrap 4 中进行简单的表单对齐;我根本没有做任何定制,只是很乐意接受框架给我的任何东西。 我已经通读了表单文档,变体的数量非常困惑,到目前为止,我尝试的一
我在尝试通过我的数据拟合平均曲线以求出长度时遇到了问题。我在一个 Pandas 数据框中有很多 X、Y 点,看起来像这样: x = np.asarray([731501.13, 731430.24,
我下载了 Enhanced Tight VNC Viewer ( http://www.karlrunge.com/x11vnc/ssvnc.html ) 并按照说明将我本地机器(运行 Win 7)上
本文整理了Java中com.sun.msv.datatype.xsd.WhiteSpaceProcessor.tightness()方法的一些代码示例,展示了WhiteSpaceProcessor.t
我正在制作一个嵌入 latex 中的出版物质量图,我希望在大小和字体方面非常精确(以便文章中的字体与图中的字体大小相同)。为了防止绘图在 latex 中缩放,我想要它的确切尺寸,但我不能。这是我的代码
我是一名优秀的程序员,十分优秀!