作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试按照代码从 Zapier 中的分页 API 获取所有记录。
const limitPerPage = 20;
const apiUrl = "https://myurl.com/data";
var lastCursor = null;
var output = null;
const getContent = async function (cursor) {
let actualUrl = apiUrl + `?cursor=${cursor}&limit=${limitPerPage}`;
var apiResults = await fetch(actualUrl)
.then(resp => {
return resp.json;
});
}
const getEntireContentList = async function (cursor) {
const results = await getContent(cursor);
console.log("Retreiving data from API for cursor : " + cursor);
if (results.metadata.cursor !== "") {
return results.concat(await getEntireContentList(results.metadata.cursor));
} else {
return results;
}
};
(async() => {
const entireList = await getEntireContentList();
console.log(entireList);
output = entireList;
callback(null, entireList);
})();
我收到错误如下您没有定义输出
!尝试 output = {id: 1, hello:await Promise.resolve("world")};
我该如何解决这个问题?
最佳答案
您的问题是,尽管您在该函数中 await
,但顶层仍在继续,并且在您的代码有机会运行之前执行就结束了。
好消息是,Zapier 已经将您的代码包装在异步函数中,因此您可以在顶层使用 await
(根据 these docs )。
试试这个:
const limitPerPage = 20;
const apiUrl = "https://myurl.com/data";
let lastCursor = null;
// var output = null; // zapier does this for you already
const getContent = async function (cursor) {
const actualUrl = apiUrl + `?cursor=${cursor}&limit=${limitPerPage}`;
const rawResponse = await fetch(actualUrl)
return resp.json() // async function, you had it as a property
}
const getEntireContentList = async function (cursor) {
const results = await getContent(cursor);
console.log("Retreiving data from API for cursor : " + cursor);
if (results.metadata.cursor !== "") {
return results.concat(await getEntireUserList(results.metadata.cursor)); // should this be named getEntireContentList?
} else {
return results;
}
};
return {
results: await getEntireContentList()
}
我注意到这是一种递归方法。没关系,但请记住,您的执行时间是有限的。您还可能会达到内存限制(取决于您返回的对象数量),因此请密切关注。
关于javascript - 扎 PIL 的分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58157284/
我正在尝试按照代码从 Zapier 中的分页 API 获取所有记录。 const limitPerPage = 20; const apiUrl = "https://myurl.com/data";
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 3 年前。 Improv
我有一个 webhook,它接收字符串格式的数据: "{\"id\":\"2119813016789714851\",\"auth0_id\":\"auth0|5bbef2b54dac115c7a86
我是一名优秀的程序员,十分优秀!