async function createApp() { for (let i = 0; i < 10; i++) { try { window.$dbSheet = {}; // set dbsheet app 属性 为 WPSOpenApi.Application; window.$dbSheet.app = WPSOpenApi.Application; $dbSheet.createRecords = () => { const records = $dbSheet.app.Record.CreateRecords({ SheetId: 1, Records: [{ fields: { "名称": "demo", "数量": 1, "日期": "2022/1/1", "状态": "未开始" } }] }); } $dbSheet.deleteRecords = async () => { const records = await $dbSheet.app.Record.GetRecords({ SheetId: 1 }) const deleteRcecordId = records.records[0].id const result = $dbSheet.app.Record.DeleteRecords({ SheetId: 1, RecordIds: [deleteRcecordId] }) } console.log(i); } catch (error) { // sleep 1s await new Promise(resolve => setTimeout(resolve, 1000)); console.log(i, error); } } } // 异步执行 createApp createApp().then(() => { }); window.addEventListener('message', (event) => { if (event.source === window && event.data.func === 'addRecord') { // console.log('[Demo] receive', event.data); addRecordOnMessage(); } if (event.source === window && event.data.func === 'deleteRecord') { // console.log('[Demo] receive', event.data); deleteRecordOnMessage(); } }); async function addRecordOnMessage() { $dbSheet.createRecords(); window.postMessage({ msg: 'add record by inject script', from: 'inject-script' }); } async function deleteRecordOnMessage() { await $dbSheet.deleteRecords(); window.postMessage({ msg: 'delete record by inject script', from: 'inject-script' }); } async function sendMsgToContentScript() { console.log('[Demo] =============================================='); console.log('[Demo] Test send message from inject script to content script'); $dbSheet.createRecords(); window.postMessage({ msg: 'ping from inject script', from: 'inject-script' }); }