自定义 fetch() 在 Office 加载项中不起作用
Custom fetch() not working in Office Add-in
我要获取以下自定义函数
function myfunction(){
fetch('https://api.jokes.one/jod?category=animal')
.then((response) => {
return response.json();
})
.then((myJson) => {
return JSON.stringify(myJson);
});
}
取完数据后,我想把它们插入到word文档中:
export async function run() {
return Word.run(async (context) => {
var a = myfunction();
const paragraph = context.document.body.insertParagraph(a, Word.InsertLocation.end);
await context.sync();
});
}
但是当我尝试启动开发服务器以运行代码时,word文档中没有插入任何数据。有什么我错过的吗?我怀疑这是一些像 CORS 一样的配置设置(我不太确定为什么)。如果有详细的解释就更好了谢谢
当后面的代码行 运行 时,您的 myfunction()
未完成。需要加上await
关键字,这样下一行代码会一直等到函数完成,像这样:
var a = await myfunction();
另外,您需要用async
关键字定义myfunction()
,这样您就可以等待它了。
response.json() 更依赖于一个promise结构,所以你必须再调用一次。
function myfunction(){
fetch('https://api.jokes.one/jod?category=animal')
.then((response) => {
response.json().then(result => {
return result;
})
})
}
我要获取以下自定义函数
function myfunction(){
fetch('https://api.jokes.one/jod?category=animal')
.then((response) => {
return response.json();
})
.then((myJson) => {
return JSON.stringify(myJson);
});
}
取完数据后,我想把它们插入到word文档中:
export async function run() {
return Word.run(async (context) => {
var a = myfunction();
const paragraph = context.document.body.insertParagraph(a, Word.InsertLocation.end);
await context.sync();
});
}
但是当我尝试启动开发服务器以运行代码时,word文档中没有插入任何数据。有什么我错过的吗?我怀疑这是一些像 CORS 一样的配置设置(我不太确定为什么)。如果有详细的解释就更好了谢谢
当后面的代码行 运行 时,您的 myfunction()
未完成。需要加上await
关键字,这样下一行代码会一直等到函数完成,像这样:
var a = await myfunction();
另外,您需要用async
关键字定义myfunction()
,这样您就可以等待它了。
response.json() 更依赖于一个promise结构,所以你必须再调用一次。
function myfunction(){
fetch('https://api.jokes.one/jod?category=animal')
.then((response) => {
response.json().then(result => {
return result;
})
})
}