提问人:Aditya Shinde 提问时间:7/28/2023 最后编辑:evolutionxboxAditya Shinde 更新时间:7/28/2023 访问量:37
JavaScript - Promise - 然后
JavaScript - Promises - then
问:
我正在尝试学习 JavaScript 中 promise 的概念,它将使用 promise 将 cdn 链接加载到 link 标签中,并相应地返回 resolve 或 reject 回调。
let loadURL = (href) => {
return new Promise((resolve, reject) => {
let newLink = document.createElement('link');
newLink.href = href;
document.body.appendChild(newLink);
newLink.onload = () => {
resolve(1);
}
newLink.onerror = () => {
reject(0);
}
})
}
let p1 = loadURL("https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css");
p1.then((value) => {
console.log(value);
}).catch((error) => {
console.log("There is an Error " + error);
})
但是在我的代码中,loadURL 函数必须返回一个解析回调,它应该执行 then 部分并打印函数返回的值。但事实并非如此,在我的控制台面板中,我看不到“then”和“catch”部分被执行。请帮忙。
帮助我执行代码的“然后”部分:(
答:
2赞
Quentin
7/28/2023
#1
仅具有属性的元素不会加载任何内容。link
href
回调不会运行,因为 promise 永远不会解析,因为事件永远不会触发,因为你没有构造一个将加载任何内容的回调。then
load
link
样式表仅在包含 时加载。link
rel="stylesheet"
评论
0赞
Aditya Shinde
7/28/2023
''' newLink.rel= “样式表”;'''我添加了这一行,它起作用了。感谢您的贡献:)
评论
catch
then
body
then
catch
then
catch