如何讓 JavaScript 函數進行休眠

了解如何讓你的 JavaScript 函數暫停執行一段時間 有時候你希望你的函數暫停執行一定的秒數或毫秒數。 在 C 或 PHP 這樣的編程語言中,你可以呼叫 sleep(2) 來使程式停止執行 2 秒。Java 使用 Thread.sleep(2000),Python 使用 time.sleep(2),Go 使用 time.Sleep(2 * time.Second)。 JavaScript 沒有原生的 sleep 函數,但由於 promises 的引入(以及 ES2018 中的 async/await),我們可以以非常清晰易讀的方式實現這樣的功能,讓你的函數休眠: const sleep = (milliseconds) => { return new Promise(resolve => setTimeout(resolve, milliseconds)) } 或者,在 Node.js 中,更簡單的方式如下: const { promisify } = require('util') const sleep = promisify(setTimeout) 在 promisify 上了解更多 你可以在 then 回調函數中使用它: sleep(500).then(() => { //執行其他操作 }) 或者在 async 函數中使用它:...

您需要多少JavaScript才能使用React?

了解一下在學習React之前是否需要學習一些東西 如果您想學習React,首先需要掌握一些基礎知識。特別是一些在React中會反覆使用的最新JavaScript功能。 有時候人們認為某個特定功能是React提供的,但實際上它只是現代JavaScript語法。 起初不需要成為這些主題的專家,但您深入研究React時,就需要更加熟練地掌握這些知識。 我將列出一些事項,並提供我撰寫的文章的連結,以幫助您快速掌握基礎知識: JavaScript類 ES模組 非同步編程的基礎知識:回調函數,Promise,async/await 箭頭函數 this關鍵字 展開運算符 解構賦值 物件字面量 JavaScript函數式編程

等待所有的 Promise 在 JavaScript 中解析

如何等待多个 Promise (使用 await) 同时解析 有时我们需要等待一个 Promise 解析,然后再等待另一个 Promise 解析。 就像这样: const values = await store.getAll() const keys = await store.getAllKeys() 这起作用,但不是理想的。我们首先等待第一个调用被解析,然后开始第二个。 我想先同时开始两个,并等待两个都完成。不多一毫秒。 解决方案是将所有内容封装在 await Promise.all() 调用中,像这样: const data = await Promise.all([store.getAll(), store.getAllKeys()]) 一旦这个解析完成,我们可以使用 data[0] 访问第一个调用的值,并使用 data[1] 访问第二个调用的返回值。