javascript-回调还是承诺?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-回调还是承诺?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1147字,纯文字阅读大概需要2分钟。
内容图文
![javascript-回调还是承诺?](/upload/InfoBanner/zyjiaocheng/692/d24bf0b065124848a8e1c3c839a028ee.jpg)
这个问题已经在这里有了答案: > Aren’t promises just callbacks? 8个
在使用javascript异步错误捕获机制时,我最终问自己,使用promise而不是回调之间有什么区别,除了promise可能更像是糖语法.
例如,让我们考虑
function setPromise() {
var message = "awesome";
var deferred = new $.Deferred();
setTimeout(function(){deferred.resolve(message)},3000);
return deferred.promise();
}
var promise = setPromise();
promise.done(function (message) {
console.log("promise done with message : " + message);
});
和
function setCallback(doneCallback) {
var message = "awesome";
setTimeout(function(){doneCallback(message)},3000);
}
setCallback(callback)
function callback(message) {
console.log("callback done with message : " + message);
}
两者都充当闭包,都允许将参数发送回,等等.
那有什么区别呢?
解决方法:
承诺建立在回调之上.后者更原始,更通用,并且在您需要做一些复杂的事情时需要做更多的工作.
对于您的示例,它们几乎做同样的事情.但是,假设您要同时解决三件事(想象一下同时通过AJAX请求三个资源),并在完成所有三个工作时继续执行.与诺言无关紧要,因为本质上没有任何变化.但是使用回调,您需要设置一些标志/计数器,并自己识别成功和失败的状态-需要做更多的工作.
内容总结
以上是互联网集市为您收集整理的javascript-回调还是承诺?全部内容,希望文章能够帮你解决javascript-回调还是承诺?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。