-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.js
29 lines (23 loc) · 1.17 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function alternate(arr, fn) {
let index = 0;
return function (...args) {
// Fonksiyonu çağırmadan önce, diziden doğru elemanı al
const currentItem = arr[index];
// Sıradaki indeksi ayarla
index = (index + 1) % arr.length;
// Fonksiyonu verilen argümanlar ve şu anki item ile çağır
return fn(currentItem, ...args);
};
} const apiKeys = ['key1', 'key2', 'key4', '114'];
// Kullanılacak fonksiyon
function makeApiCall(apiKey, url) {
console.log(`Making API call to ${url} with API key: ${apiKey}`);
// Burada gerçek bir API çağrısı yapılabilir
}
// alternate fonksiyonunu kullanarak yeni bir fonksiyon oluştur
const alternateApiCall = alternate(apiKeys, makeApiCall);
// Şimdi bu fonksiyonu ardışık olarak çağırdığımızda, sırasıyla apiKeys içindeki anahtarları kullanacak
alternateApiCall('https://api.example.com/data1'); // key1 ile çağrı yapar
alternateApiCall('https://api.example.com/data2'); // key2 ile çağrı yapar
alternateApiCall('https://api.example.com/data3'); // tekrar key1 ile çağrı yapar
alternateApiCall('https://api.example.com/data4'); // tekrar key2 ile çağrı yapar