asynceventhandlersinlit-html
创始人
2024-09-21 02:30:54
0

在 lit-html 中添加异步事件处理程序可以很方便地执行一些异步操作。但是,这也会导致一些问题,因为异步函数的返回值不会影响模板渲染。

为了解决这个问题,可以使用 lit-html 的 directive,即repeat、classMap、styleMap、live、guard等。

例如,使用 live directive可以使渲染函数等待 Promise 返回的值:

import {live} from 'lit-html/directives/live';

const handleClick = async (event) => { const result = await fetch('/data');

return result.json(); };

html ;

这里的 live directive 会使用 requestRender,在 Promise 返回结果后重新渲染值。 这种方式可以避免渲染出不正确的值。

另外,还可以使用 asyncState directive,它会等待异步函数执行完成并返回结果。

import {asyncState} from 'lit-html/directives/async-state';

const handleClick = async (event) => { const result = await fetch('/data');

return result.json(); };

html ;

在这个示例中,asyncState directive 会将 handleClick 函数返回的 Promise 转换为一个对象,其包含以下属性:‘data’(Promise 执行结果)、‘error’(如果 Promise 拒绝时返回),以及‘isLoading’(如果 Promise 还没有执行完成)。

通过在模板中使用(state) => html${state.data}``,可以将结果呈现为一个文本节点。

相关内容

热门资讯

外挂办法!pokernow辅助... 外挂办法!pokernow辅助工具,poker master辅助-原来一直都是有辅助攻略(哔哩哔哩)...
外挂方案!智星菠萝德州插件怎么... 外挂方案!智星菠萝德州插件怎么下载,智星德州辅助译码插件靠谱吗-一直有辅助方法(哔哩哔哩)1、下载好...
外挂窍门!哈糖大菠萝怎么开挂,... 外挂窍门!哈糖大菠萝怎么开挂,德普之星透视辅助软件-原来是真的有辅助app(哔哩哔哩)小薇(辅助器软...
外挂法子!德州局透视脚本,来玩... 外挂法子!德州局透视脚本,来玩app破解版-果然是真的有辅助软件(哔哩哔哩)1.德州局透视脚本 选牌...
外挂诀窍!约局吧德州真的有透视... 外挂诀窍!约局吧德州真的有透视挂吗,xpoker辅助助手-本来真的有辅助技巧(哔哩哔哩)1、全新机制...
外挂操作!竞技联盟破解版最新版... 外挂操作!竞技联盟破解版最新版,uupoker透视-竟然一直总是有辅助脚本(哔哩哔哩)竞技联盟破解版...
外挂练习!werplan外开挂... 外挂练习!werplan外开挂,德普之星透视免费-竟然有辅助神器(哔哩哔哩)1、每一步都需要思考,不...
外挂演示!fishpoker透... 外挂演示!fishpoker透视,智星德州插件2024最新版-真是真的是有辅助教程(哔哩哔哩)1、智...
外挂绝活!sohoo poke... 外挂绝活!sohoo poker辅助,红龙poker辅助-其实有辅助工具(哔哩哔哩)1、下载好soh...
外挂总结!pokermaste... 外挂总结!pokermaster脚本,哈糖大菠萝免费辅助器-竟然存在有辅助神器(哔哩哔哩)1、玩家可...