javascript - 如何调用一个返回 fetch 调用的函数?香草JS
问题描述
如何在下面的另一个函数上调用此函数?:代码来自(Vanilla JS DOM 操作(节点渲染不一致))
return
在 fetch 之前和最后一部分记下代码
function getCarouselCard(){
var url = "/sample-url/"
return fetch(url)
.then((response) => response.json())
.then(function(data){
//do some stuff here
return card
})
}
我以这种方式完成了上面发布的代码,因为我需要使用以下方法重新排列页面的 fetch 调用顺序:
注意:我从在这里回答我的问题的人那里得到了下面的代码(检查评论部分)Vanilla JS DOM 操作(节点渲染不一致)。我不明白 Promise 是如何工作的,所以我只是尝试了代码并且它有效
somefunction() {
Promise.all([getLogoCard(), getCarouselCard(), getMissionCard(), getVisionCard()]).then((values) => {
values.forEach(card=> pageContent.append(card))
}).then(function(){
//do some stuff here
})
}
现在,我需要getCarouselCard()
在另一个函数中调用该函数,代码如下所示:
function deleteCarouselForm(id){
var form = document.getElementById('carousel-delete-form')
form.addEventListener('submit', function(e){
e.preventDefault()
var url = `/web-content/api/home-carousel/delete/${id}/`
fetch(url, {
method: 'DELETE',
headers: {
"Content-type": 'application/json',
"X-CSRFToken": csrftoken,
},
// body: JSON.stringify()
})
.then(function(){
getCarouselCard()
})
})
}
并且通过简单地调用getCarouselCard()
不起作用,我什至尝试这样做:
.then(function(){
Promise.all([getCarouselCard()]).then((values) => {
values.forEach(card=> pageContent.append(card))})
//the same way how I called `getCarouselCard()` function in another function
})
我是 javascript 新手,所以如果有人可以帮助我解决这些问题,我将不胜感激。谢谢!
解决方案
推荐阅读
- docker - 如何重新访问 Docker 中的 bash 控制台?
- node.js - node-postgres:连接太多时 ECONNREFUSED
- android - 为部分添加空间项装饰
- python - 打印 1-100 的数字,跳过可被 3 和 5 整除的数字
- python - 自定义用户不是来自 django 的超级用户
- sql - 如何在给定的一周内获得每天数据的最大值
- sql - MS Access SQL - 如何从第一个月的第一天提取过去 13 个月的数据?
- wordpress - Ansible 取消归档文件到目标不可读
- ios - idevice中的GMT时间是否可能会失真?
- java - Cucumber .feature 文件未在 Java 类中获取步骤定义