我试图制作一个回调函数,但是我无法找到一个解决方案来传递这个回调中的参数。
var chrome = {
enterprise: {
deviceAttributes: {
getDirectoryDeviceId: function() {
return "test";
}
}
}
};
chrome.enterprise.deviceAttributes.getDirectoryDeviceId(function(deviceid) {
alert(deviceid);
});
回调函数中的deviceid如何是" xxx" ?
非常感谢
答案 0 :(得分:2)
当你调用它时,你正在将一个函数传递给getDirectoryDeviceId
但是没有调用该函数或将其作为参数接受
尝试:
var chrome = {
enterprise: {
deviceAttributes: {
getDirectoryDeviceId: function(callback) {
// ^^ function you already pass in when you call method
// call the callback you pass in below
callback("test");
}
}
}
};
// nothing changed here
chrome.enterprise.deviceAttributes.getDirectoryDeviceId(function(deviceid) {
alert(deviceid);
});

答案 1 :(得分:1)
首先,chrome.enterprise.deviceAttributes.getDirectoryDeviceId
被分配了一个不带参数的函数,所以你需要在那里设置一个。
然后,当您调用getDirectoryDeviceId
时,可以通过将()
附加到参数来执行您传递的函数。
最后,如果您希望能够传递回调将使用的参数,则需要在函数中设置第二个参数。
var chrome = {
enterprise: {
deviceAttributes: {
getDirectoryDeviceId : function(callback, data){
callback(data);
}
}
}
};
chrome.enterprise.deviceAttributes.getDirectoryDeviceId(function (deviceid){
alert(deviceid);
}, "TEST!"); // <-- Second argument is the data that will be used by the callback
&#13;