我想最终将我的代码模块化,以分解我的一个路由文件中的一些功能。我能够做一个承诺链,允许我获取和使用 2 条数据。但是,我总共需要在原始承诺上运行 5 个功能。我将发布工作代码,然后发布我正在尝试做的事情,但我无法找到一种方法,因为我知道的异步没有按顺序调用或执行。 编辑:这是我通过 colt Steele 在 udemy 上的训练营学到的第一个真正的项目。他所做的是让他的代码工作,然后将其重构为自己的文件,然后将其导入他需要的地方。我也在做同样的事情,因为这是我迄今为止所知道的,所以我的索引中的所有函数都通过承诺链接工作。但是我想将它们移动到我的 Marvel.js 并在整个项目中使用它们。
getCharactersComic(character)
getCharacterEvents(character)
getCharacterCreators(character)
getCharacterSeris(character)
getCharacterStories(character)
这就是我的 index.js 中的内容
function getCharactersComic(character){
var charactersComics;
return axios.get('https://gateway.marvel.com:443/v1/public/characters/' + character[0].id + '/comics?limit=10', {
params:{
ts: timeStamp,
apikey: key.MarvelPubKey,
hash: marvelHash
}
})
.then(response =>{
charactersComics = response.data.data.results;
return charactersComics;
})
.catch(err => {
console.log('This is the error from comics: ', err.response);
})
}
router.get("/:id", function(req,res){
var character = axios.get('https://gateway.marvel.com:443/v1/public/characters/' + req.params.id,{
params:{
ts: timeStamp,
apikey: key.MarvelPubKey,
hash: marvelHash
}
})
.then( response =>{
let character = response.data.data.results;
let comics = getCharactersComic(character);
comics.then(comics =>{
comics = comics.find(Marvel.imageCheck);
res.render('character', {character: character , comics:comics});
})
})
.catch(error => console.log('This is the error from id: '));
});
我想在我的 Marvel 文件中获取我的所有函数,这样我就可以像这样调用和使用它们,即使我必须同时使用所有函数。
Marvel.getCharactersComic(req.params.id).
Marvel.getCharactersComic(req.params.id)
Marvel.getCharacterEvents(req.params.id)
Marvel.getCharacterCreators(req.params.id)
Marvel.getCharacterSeris(req.params.id)
Marvel.getCharacterStories(req.params.id)