ฉันมีชีตที่ต้องการนำเข้าค่าของผลการค้นหาของ Google โดยใช้ฟังก์ชัน importxml บางครั้งฉันได้รับ #N/A ในเซลล์ A2
ฉันใช้ while loop เพื่อพยายามดึงข้อมูลต่อไป แต่ก็ยังไม่ได้รับข้อมูลแม้ว่าจะรอเป็นเวลานานก็ตาม เป็นไปได้ไหมที่จะตั้งค่าตัวจับเวลา JavaScript ให้ทำงานจนกว่าฉันได้รับค่าในเซลล์ A2 จากนั้นตัวจับเวลาจะหยุดและปล่อยให้โค้ดที่เหลือดำเนินการต่อ
ฉันควรทำอย่างไรเพื่อหลีกเลี่ยงกรณีดังกล่าวและรับคุณค่าจากเซลล์ A2 เสมอ ทางเลือกอื่นใด?
var queryString = Math.random();
var cellFunction1 = '=IMPORTXML("' + SpreadsheetApp.getActiveSheet().getRange('C2').getValue() + '&randomNumber=' + queryString + '","'+ SpreadsheetApp.getActiveSheet().getRange('D2').getValue() + '")';
SpreadsheetApp.getActiveSheet().getRange('A2').setValue(cellFunction1);
var stop = 0;
while (SpreadsheetApp.getActiveSheet().getRange('A2').getValue() === "#N/A" && stop++<10) {
Utilities.sleep(5000);
var queryString3 = Math.random();
var cellFunction1 = '=IMPORTXML("' + SpreadsheetApp.getActiveSheet().getRange('C2').getValue() + '&randomNumber=' + queryString3 + '","'+ SpreadsheetApp.getActiveSheet().getRange('D2').getValue() + '")';
SpreadsheetApp.getActiveSheet().getRange('A2').setValue(cellFunction1);
}