我如何在此对象中发送上下文?
How can i send context in this object?
例如我有简单的代码:
let arrayOfObjects = [{
arrays: [arraysFunction("array object 1", "some url", () => {
console.log(this); // it should return {name: "array object 1", url: "some url", callback: fn}
}])
}];
function arraysFunction(name, url, callback) {
return {name, url, callback}
}
我想在这里放置我的数组对象
我如何使用(申请、调用、绑定)实现?
let object = {
arrays: [arraysFunction("array object 1", "some url", function() {
console.log(this); // it should return {name: "array object 1", url: "some url", callback: fn}
}]
};
function arraysFunction(name, url, callback) {
callback = callback.bind({name, url, callback});
return {name, url, callback};
}
唯一的问题是返回的回调将与这里的回调不同(===
将不起作用)。
要使用all/apply只需使用以下
let object = {
arrays: [arraysFunction("array object 1", "some url", function(){
console.log(this);
})]
};
function arraysFunction(name, url, callback) {
return callback.apply({name, url, callback});
}
例如我有简单的代码:
let arrayOfObjects = [{
arrays: [arraysFunction("array object 1", "some url", () => {
console.log(this); // it should return {name: "array object 1", url: "some url", callback: fn}
}])
}];
function arraysFunction(name, url, callback) {
return {name, url, callback}
}
我想在这里放置我的数组对象 我如何使用(申请、调用、绑定)实现?
let object = {
arrays: [arraysFunction("array object 1", "some url", function() {
console.log(this); // it should return {name: "array object 1", url: "some url", callback: fn}
}]
};
function arraysFunction(name, url, callback) {
callback = callback.bind({name, url, callback});
return {name, url, callback};
}
唯一的问题是返回的回调将与这里的回调不同(===
将不起作用)。
要使用all/apply只需使用以下
let object = {
arrays: [arraysFunction("array object 1", "some url", function(){
console.log(this);
})]
};
function arraysFunction(name, url, callback) {
return callback.apply({name, url, callback});
}