Rumah >hujung hadapan web >tutorial js >Pemalam ringkas Node.js menyokong penyegerakan, panggil balik, janji, dan tegas.

Pemalam ringkas Node.js menyokong penyegerakan, panggil balik, janji, dan tegas.

Susan Sarandon
Susan Sarandonasal
2025-01-03 04:43:38636semak imbas

Pemasangan

npm install node-plug

Contoh penggunaan:

  • plugin.js
export const pluginSync = {
  run() {
    console.log('Plugin sync dijalankan!')
  },
}

export const pluginCallback = {
  run() {
    console.log('Plugin callback mulai...')
    setTimeout(() => console.log('Plugin callback selesai!'), 15)
  },
}

export const pluginPromise = {
  async run() {
    console.log('Plugin Promise mulai...')
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin Promise selesai!')
  },
}
  • utama.js
import { addPlugin, runPlugin, test } from 'node-plug'
import { pluginSync, pluginCallback, pluginPromise } from './plugin.js'

// Menambahkan plugin
addPlugin(pluginSync)
addPlugin(pluginCallback)
addPlugin(pluginPromise)

// Menjalankan plugin
runPlugin()

// Melakukan pengujian
test([
  'Plugin sync dijalankan!',
  'Plugin callback mulai...',
  'Plugin Promise mulai...',
  'Plugin callback selesai!',
  'Plugin Promise selesai!',
])

Kod di atas berfungsi dengan baik, tetapi tanpa pemalam janji ralat akan berlaku.

Simpel plugin Node.js mendukung sync, callback, promise, dan assert.

Ralat kerana tiada pemalam janji
Mengapakah ralat berlaku? Kerana kaedah runPlugin mengembalikan janji.

Penyelesaian:
Tambahkan pemalam penyegerakan dan panggil balik pada pemalam promises.

  • plugin.js
const pluginSync = {
  run() {
    console.log('Plugin sync dijalankan!')
  },
}

const pluginCallback = {
  run() {
    console.log('Plugin callback mulai...')
  },
}

export const pluginPromise = {
  async run() {
    pluginSync.run()
    pluginCallback.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin callback selesai!')
  },
}

// atau
/*const pluginSync = {
  run() {
    console.log('Plugin sync mulai...')
  },
}

const pluginCallback = {
  run() {
    console.log('Plugin callback mulai...')
  },
}

export const pluginPromise = {
  async run() {
    pluginSync.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin sync selesai!')
    pluginCallback.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin callback selesai!')
  },
}*/

// atau
/*const pluginSync = {
  run() {
    console.log('Plugin sync mulai...')
  },
}

const pluginCallback = {
  run() {
    console.log('Plugin callback mulai...')
  },
}

export const pluginPromise = {
  async run() {
    pluginSync.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin sync selesai!')
    pluginCallback.run()
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin callback selesai!')
    console.log('Plugin Promise mulai...')
    await new Promise((resolve) => setTimeout(resolve, 15))
    console.log('Plugin Promise selesai!')
  },
}*/
  • utama.js
import { addPlugin, runPlugin, test } from 'node-plug'
import { pluginPromise } from './plugin.js'

// Menambahkan plugin
addPlugin(pluginPromise)

// Menjalankan plugin
runPlugin()

// Melakukan pengujian
test([
  'Plugin sync dijalankan!',
  'Plugin callback mulai...',
  'Plugin callback selesai!',
])

// atau
/*import { addPlugin, runPlugin, test } from 'node-plug'
import { pluginPromise } from './plugin.js'

// Menambahkan plugin
addPlugin(pluginPromise)

// Menjalankan plugin
runPlugin()

// Melakukan pengujian
test([
  'Plugin sync mulai...',
  'Plugin sync selesai!',
  'Plugin callback mulai...',
  'Plugin callback selesai!',
])*/

// atau
/*import { addPlugin, runPlugin, test } from 'node-plug'
import { pluginPromise } from './plugin.js'

// Menambahkan plugin
addPlugin(pluginPromise)

// Menjalankan plugin
runPlugin()

// Melakukan pengujian
test([
  'Plugin sync mulai...',
  'Plugin sync selesai!',
  'Plugin callback mulai...',
  'Plugin callback selesai!',
  'Plugin Promise mulai...',
  'Plugin Promise selesai!',
])*/

Atas ialah kandungan terperinci Pemalam ringkas Node.js menyokong penyegerakan, panggil balik, janji, dan tegas.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Komponen Web: Satu PengenalanArtikel seterusnya:Komponen Web: Satu Pengenalan