node.js - node.js 上的功能延迟
问题描述
我遇到了一个大问题,我需要尽快做一个获取 trello 内容的应用程序,但我不知道为什么我的 for 不能正常工作。当我的输出应该是卡ID,当函数被调用时,它应该显示成员。我不知道为什么,但是当调用'miembro'函数时,它会延迟并且在第二个id之后显示,所以它延迟了很多,我需要他们在另一个下显示一个。感谢您的快速回答,谢谢!
const trelloKB = require("trello-kb");
const fetch = require('node-fetch');
// Replace this by the application key of your Trello account
var appKey = '51501902fff527d305686a29d6d61cfa';
// Replace this by a valid authorization token
var authToken = '9828f5f03073ae52ffdae77bdf49c939df8a315b169cb81aeb42a3d43d0f9e21';
function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
function miembros (id){
fetch('https://api.trello.com/1/cards/'+id+'/members?key=51501902fff527d305686a29d6d61cfa&token=9828f5f03073ae52ffdae77bdf49c939df8a315b169cb81aeb42a3d43d0f9e21&fields=fullName', {
method: 'GET'
})
.then(response => {
setTimeout(function() {
return(response.text());
}, 3000);
})
.then(text => console.log(text))
.catch(err => console.error(err));
}
trelloKB.get(appKey, authToken, '33CP31Sf').then(
function (cards) {
// Print the title of each card
var ms = 3000;
for(i=0; i<2; i++){
var card = cards[0];
var id = card.id;
var titleCard = card.title;
console.log(id);
miembros(id);
}
},
);
解决方案
它被延迟了,因为您需要使用同步等待或 .then
您需要先获取第一个 ID,然后执行 .then 以通过函数调用获取第二个 ID。
此外,您不应该向您展示 API 密钥,它们应该是私有的,哈哈
推荐阅读
- google-bigquery - 使用数组数组插入 Bigquery 表
- sql - 必须出现在sql的group by子句中
- android - React-Native:redux-saga:在发布模式下无法访问选择器中的静态类
- javascript - 在时间网格全日历垂直资源视图中使第一列保持粘性
- python - [Odoo][v10] 在 Odoo v10 中为 Python 中的关注者添加订阅类型
- excel - 属性进入所有元素
- django - Django 多个数据库外键
- c# - 如何获取 ListView 项目对其作为静态资源创建的数据模板 ViewModel 的引用?
- ios - 当前上下文视图控制器的编程屏幕截图
- mongodb - 通过将它们与参考进行比较来清理集合中的文档