我想為我的 vue3 應用程式撰寫簡單的測驗,測驗應該斷言特定函式(在本例中為 updateRoute)在不同組件中使用異步宣告
注意:根據我當前的專案,我無法在單個檔案中隔離此功能以使其可重用
例子:
const updateRoute = () => { doSomethig() }
應該失敗
盡管
const updateRoute = async () => { await doSomethig() }
應該通過
測驗庫無關緊要,可以是 Jest 或其他任何東西
uj5u.com熱心網友回復:
你可以測驗以下
Object.getPrototypeOf(updateRoute).constructor === Object.getPrototypeOf(async function(){}).constructor
這是一個演示
const updateRoute = () => { doSomethig() }
const asyncUpdateRoute = async () => { await doSomethig() }
// demo
const AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;
function test(fn) {
return Object.getPrototypeOf(fn).constructor === AsyncFunction;
}
console.log(test(updateRoute)); // should be false
console.log(test(asyncUpdateRoute)); // should be true
uj5u.com熱心網友回復:
檢查contructor.name函式的 是否等于'AsyncFunction':
const x = async () => {};
const y = () => {}
console.log(x.constructor.name);
console.log(x.constructor.name === 'AsyncFunction');
console.log(y.constructor.name);
console.log(y.constructor.name === 'AsyncFunction');
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/359531.html
標籤:javascript Vue.js 测试 玩笑 Vuejs3
