[英]Word Add-in content of document
我要从Word文档中获取数据并将其设置为我的JavaScript的全局用法。 但是我通过以下代码得到这个错误
您无法将正文内容设置为全局变量
var bodyText;
getData();
function getData() {
Word.run(function (context) {
var body = context.document.body;
context.load(body, 'text');
return context.sync().then(function () {
bodyText = body.text;
});
});
console.log(bodyText);
}
console.log(bodyText);
您的第一个console.log是无法访问的代码,因为该方法在到达该行之前返回。 另一个问题是Word.run
是异步的,并且在调用第二个console.log时尚未完成,因此第二个返回undefined。 以下代码有效:
var bodyText;
getData();
function getData() {
return Word.run(function (context) {
var body = context.document.body;
context.load(body, 'text');
return context.sync()
.then(function () {
bodyText = body.text;
console.log(bodyText); //Completes second and works
});
});
// console.log(bodyText); // Unreachable code
}
console.log(bodyText); // Completes first and returns undefined
您可以通过将第二个console.log放入then
链接到getData
调用的then
方法中来控制同步:
var bodyText;
getData().then(function () {
console.log(bodyText); // Completes second and works
});
function getData() {
return Word.run(function (context) {
var body = context.document.body;
context.load(body, 'text');
return context.sync()
.then(function () {
bodyText = body.text;
console.log(bodyText); //Completes first and works
});
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.