以下是Chrome控制台中两个对象的屏幕截图。两者都是由与Google Script文件交互的Javascript函数创建的。第一个是用键值对定义的,第二个定义为空,然后通过for循环添加了键值对。
底部显示为空,但实际上不是。信息按钮告诉我刚刚对其进行了评估'。
问题在于我将此对象发送到Google Script函数,当我这样做时,它会作为一个空对象发送。在执行将其发送到Google Scripts的代码之前,有没有办法强制对象进入第一个表单?
设置执行Google Script调用的超时有效,但仅限于创建对象的for循环及时完成。
我的代码如下所示:
function logIt(blob) {
var page_labs = {};
PDFJS.getDocument({data: blob}).then(function (PDFdoc) {
for (var i=1; i<=PDFdoc.numPages; i++) {
PDFdoc.getPage(i).then(function (PDFpage) {
var page_number = PDFpage.pageIndex + 1;
var labs = ''
PDFpage.getTextContent().then(function (text) {
for (var j in text.items) {
var item = text.items[j]
if (item.str.substr(0,1) == '♩') {
labs += '♩'
}
}
page_labs['Page ' + page_number.toString()] = labs
})
})
}
})
console.log({'Page 1': '♩♩♩♩♩♩♩♩♩♩♩♩'})
console.log(page_labs);
google.script.run.lofNumbers(page_labs)
}
答案 0 :(得分:0)
console.log 使用 JSON.stringify 方法,
示例:
console.log(JSON.stringify(page_labs))