今天,我正在学习 WordPress 教程,讲师正在演示如何使用 jQuery 和 JavaScript 搜索网站,特别是使用 .then() 和 .when() 方法。随着我的跟进,我发现我对这些方法并没有我想象的那么熟悉。
所以,我做了一些研究,做了一些笔记,并将它们添加到我的黑曜石笔记本中。说实话,这些笔记有点粗糙——它们看起来就像是五年级学生用松鼠的注意力拼凑出来的东西(让我们面对现实吧,有时感觉就像我一样!)。
但我想,为什么不分享它们呢?如果他们帮助了一个人,那就值得发帖。
你在学校,你和你的朋友互相做出承诺。这些承诺就像是在说:“我会完成作业,然后我们就可以玩游戏了。”
但事情是这样的:有时需要一点时间才能完成作业。你可能会很快吃完,或者你的狗可能会吃掉它,而你永远不会吃完(哎呀!)。 JavaScript Promise 的工作方式相同。它等待事情发生,然后说:“好吧,接下来做什么?”
.then() 方法就像你在 承诺完成后要做的事情。想象一下你对你的朋友说:
但是如果你没有完成怎么办?呃哦,您可以添加备份计划:
以下是在 JavaScript 中的表达方式:
promiseToFinishHomework .then(() => { console.log("Yay! We can play games!"); // If you finished }) .catch(() => { console.log("Oh no! No games today!"); // If you didn’t finish });
这就像你在等待一群朋友完成他们的作业,这样你们就可以一起玩。你就像:
在现实生活中,这就是一起工作。在 JavaScript 中,您使用名为 Promise.all() 的东西(这就像说“让我们等待每个人都准备好!”):
Promise.all([friend1, friend2]).then(() => { console.log("We’re all done! Time to play!"); });
所以,JavaScript 只是确保它知道 接下来会发生什么 当承诺得到遵守或违背时! ?
Promise 本身不会检查作业。 你说吧!当您创建承诺时,您可以根据任务(例如完成作业)是否完成来决定是已解决还是拒绝。 .then() 在 Promise 得到解决时运行,.catch() 在 Promise 被拒绝时运行。
这是一个完整的示例来查看它的实际效果:
let promiseToFinishHomework = new Promise((resolve, reject) => { let finishedHomework = true; // Change this to false to see the rejection if (finishedHomework) { resolve(); // Homework is done! } else { reject(); // Homework is not done! } }); promiseToFinishHomework .then(() => { console.log("Yay! We can play games!"); // If the promise resolves (homework done) }) .catch(() => { console.log("Oh no! No games today!"); // If the promise rejects (homework not done) });
以上是JavaScript .then / .when 方法。的详细内容。更多信息请关注PHP中文网其他相关文章!