UNPKG

taro-code

Version:

Taro.js barcode & qrcode, Image & Canvas

42 lines 1.42 kB
import Taro from '@tarojs/taro'; const getElement = async (id, rootSelector) => { if (Taro.getEnv() === Taro.ENV_TYPE.WEB) { const canvasWrap = document.getElementById(id); const canvas = canvasWrap.children[0]; return await Promise.resolve(canvas); } else { return await new Promise((resolve) => { const selector = rootSelector != null ? `${rootSelector} >>> #${id}` : `#${id}`; Taro.createSelectorQuery() .select(selector) .fields({ node: true, size: true }) .exec((res) => { var _a; if (((_a = res[0]) === null || _a === void 0 ? void 0 : _a.node) != null) { const canvas = res[0].node; resolve(canvas); } else { resolve(undefined); } }); }); } }; export const waitForElement = async (id, rootSelector, step = 0) => { try { const canvas = await getElement(id, rootSelector); if (canvas != null) { return canvas; } else { if (step + 1 < 100) { await new Promise((resolve) => setTimeout(resolve, 10)); return await waitForElement(id, rootSelector, step + 1); } } } catch (error) { } }; //# sourceMappingURL=element.js.map