比如想写一个回调,可以用promise:
function a(){
return new Promise(function(res,rej){
res()
})
}
a().then()
但是现在希望代码能直接在浏览器运行,而不是经过webpack(ES6转5).
那么用
var a = function(x){x();}
a(function(){
console.log('回调')
})
//↑像这样的写法会不会存在什么问题?比如兼容等等
现在多数现代浏览器都支持 Promise 了(毕竟一些浏览器的 API 都是返回这个了),也可以使用一些兼容库来支持。
至于你第二种写法,就是最传统的 callback,我能想到的就只有
this
的指向控制问题。