1let checkInterval = 300; // Interval to check for the variable, in milliseconds 2let timeout = 15000; // Timeout duration in milliseconds 3 4const waitUntilReady = (item) => { 5 return new Promise((resolve, reject) => { 6 let elapsedTime = 0; // Time elapsed since we started polling 7 let intervalId = setInterval(() => { 8 if (typeof item !== "undefined") { 9 // item defined 10 clearInterval(intervalId); 11 resolve(true); 12 } else if (elapsedTime >= timeout) { 13 // item not defined and timeout reached 14 clearInterval(intervalId); 15 reject(new Error("Timeout reached waiting for item")); 16 } else { 17 elapsedTime += checkInterval; 18 } 19 }, checkInterval); 20 }); 21}; 22 23const waitUntilAdKitReady = () => { 24 return new Promise((resolve, reject) => { 25 let elapsedTime = 0; // Time elapsed since we started polling 26 let intervalId = setInterval(() => { 27 if (typeof Adkit !== "undefined") { 28 // Adkit defined 29 clearInterval(intervalId); 30 resolve(true); 31 } else if (elapsedTime >= timeout) { 32 // Adkit not defined and timeout reached 33 clearInterval(intervalId); 34 reject(new Error("Timeout reached waiting for Adkit")); 35 } else { 36 elapsedTime += checkInterval; 37 } 38 }, checkInterval); 39 }); 40};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.