為了模擬慢速 API 或 API 回傳資料量大,可使用 ctx.delay()
模擬 API 延遲時間。
Version
MSW 0.28.2
API Function
api/getBook.js
import axios from 'axios'
export default id => axios.get(`/book/${id}`)
使用 axios.get()
呼叫 API。
Mock Function
mock/getBook.js
import { rest } from 'msw'
export default rest.get('/book/:id', (req, res, ctx) => res(
ctx.status(200),
ctx.delay(5000),
ctx.json({
'title': 'FP in JavaScript',
})
))
第 5 行
ctx.delay(5000),
在 res()
內使用 ctx.delay()
設定延遲時間。
Conclusion
- 只要在
res()
使用ctx.delay()
就可設定延遲時間