我有一个任意长度的数组包含如下内容:
const arr = [{key: 345}, {key: 786}, {key: 980}];
我想返回一个使用数组返回承诺链的函数。
<>之前getCallback(arr) {返回函数(生成器){恢复建设者其中(arr[0]。key)其中(arr[1]。key)其中(arr[2]。key)}}之前不确定如何使用任意长度的数组实现这一点。我查看了递归解决方案,但无法适合此用例。
您不必像现在在示例代码中那样将函数调用链接起来。相反,在循环中分别调用它们:
const arr = [{key: 345}, {key: 786}, {key: 980}];
function getCallback(arr) {
return function(builder) {
arr.forEach(function(item) {
builder = builder.where(item.key);
});
return builder;
}
}
var MockBuilder = function() {}
MockBuilder.prototype.where = function(key) {
console.log(key);
return this;
};
var callback = getCallback(arr);
callback(new MockBuilder());