[英]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.