是否可以包装setTimeout
之类的函数然后触发回调。就像在jQuery中$(selector).on('action', callback)
。
var obj = {
mth1: function (callback) {
//----need to wrap to something
setTimeout(function () { console.log("1"); }, 1000);
console.log('2');
//----
// callback;
}
};
function callback() {
console.log('3');
};
(function () { obj.mth1(callback); }) ();
我需要什么:
2
1
3
答案 0 :(得分:2)
只需在setTimout
内的函数末尾添加它// *snip*
setTimeout(function () {
console.log("1");
callback();
}, 1000);
// *snip*
答案 1 :(得分:0)
不确定你要求的是什么。只需确保它是一个函数并调用它:
mth1: function (callback) {
//----need to wrap to something
setTimeout(function () {
console.log("1");
// be sure it is a function
if (callback&& getType.toString.call(callback) == '[object Function]';) {
// call it
callback();
}
}, 1000);
console.log('2');
}