Bạn sẽ gọi nó như thế này (đi qua các hàm callback như một tham số):
myfunction(myCallbackFn);
Chú ý rằng không có dấu ngoặc đơn sau tên hàm khi đi qua một tham chiếu đến các chức năng như một cuộc tranh cãi. Điều này không gọi hàm, nhưng chỉ chuyển một tham chiếu tới hàm đó, sau đó nó có thể được gọi sau này từ bên trong hàm tùy chỉnh của bạn.
Bạn sẽ xác định chức năng của bạn và sau đó gọi hàm callback trong nó như thế này:
function myfunction(cb) {
cb(arg1, arg2);
}
Lưu ý, có rất nhiều phương pháp thực sự gọi hàm callback từ bên trong chức năng tùy chỉnh của bạn. Nếu bạn chỉ cần gọi nó là bình thường và không quan tâm đến đối số this
, bạn chỉ có thể sử dụng:
cb();
Nếu bạn muốn thiết lập các this
luận một cái gì đó, bạn có thể sử dụng này:
cb.call(thisArg, arg1, arg2);
Nếu bạn muốn vượt qua cùng tranh luận hiện tại của bạn hoặc vượt qua một mảng các đối số và thiết lập các tham số this
, bạn sẽ sử dụng này:
cb.apply(thisArg, argArray);
Tài liệu tham khảo trên .call()
và .apply()
.
mã hiện tại của bạn có một lỗi javascript trong lĩnh vực này:
test(rand_gyumolcs, link, callback){
callback();
};
Đây không phải là javascript pháp lý. Tôi không biết những gì bạn đang cố gắng làm, nhưng điều này trông giống như một nửa của một tuyên bố chức năng và một nửa của một cuộc gọi chức năng. Nếu bạn chỉ muốn gọi hàm thử nghiệm, bạn sẽ chỉ sử dụng chức năng này:
test(rand_gyumolcs, link, callback);
Bên trong kiểm tra, nếu bạn muốn hàm gọi lại được gọi sau khi hoạt ảnh hoàn tất, bạn sẽ phải móc hoàn thành chức năng của hoạt ảnh và gọi lại cuộc gọi lại.
Dường như không làm việc cho tôi jfriend00 ... nó có lẽ là sai lầm của tôi, nhưng bạn có thể có một cái nhìn? Các mã là một chút lộn xộn tôi biết, tôi không phải là tốt tại jquery ... http://ridewithus.co.cc/test/ –
nếu bạn có thể nhìn thấy .. tôi muốn các loại trái cây ở phía bên phải để di chuyển, và chức năng kiểm tra thực hiện điều đó, nhưng tôi cũng có chức năng gọi lại sẽ chuyển chúng trở lại vị trí ban đầu của chúng –
Vui lòng đăng mã có liên quan trong câu hỏi ban đầu của bạn hoặc đưa ra mô tả rất cụ thể về vị trí mã trong trang của bạn và cách kích hoạt nó. Bạn đã đăng một trang web có năm trang tập lệnh được nhúng và tôi không biết bạn đang yêu cầu đoạn mã nào. – jfriend00