相关疑难解决方法(0)

回调或承诺?

在使用javascript异步错误捕获机制时,我最终问自己使用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);
        });
Run Code Online (Sandbox Code Playgroud)

        function setCallback(doneCallback) {
            var message = "awesome";
            setTimeout(function(){doneCallback(message)},3000);
        }

        setCallback(callback)

        function callback(message) {
            console.log("callback done with message : " + message);
        }
Run Code Online (Sandbox Code Playgroud)

两者都充当闭包,都允许返回参数等.

那有什么区别?

javascript callback promise

1
推荐指数
1
解决办法
3116
查看次数

标签 统计

callback ×1

javascript ×1

promise ×1