小编Dmi*_*ich的帖子

如何映射异步生成器?

假设我们有一个异步生成器:

exports.asyncGen = async function* (items) {
  for (const item of items) {
    const result = await someAsyncFunc(item)
    yield result;
  }
}
Run Code Online (Sandbox Code Playgroud)

是否可以映射该生成器?本质上我想这样做:

const { asyncGen } = require('./asyncGen.js')

exports.process = async function (items) {
  return asyncGen(items).map(item => {
    //... do something
  })
}
Run Code Online (Sandbox Code Playgroud)

截至目前.map无法识别异步迭代器。

另一种方法是使用for await ... of ,但这远不如使用.map

javascript iterator node.js map-function async-iterator

9
推荐指数
1
解决办法
3847
查看次数

CSS方式限制文本的换行符

我可能有点奇怪的任务,但我相信没有更好的解决方案.我需要<ul>在一些宽度可更改的容器中使用<li>固定宽度的内联元素.我应该(已经找到解决方案)在<li>相同宽度的元素之间放置空格.空间宽度是动态变化,取决于父容器宽度.同样,这个<li>项目有固定的宽度.

我还应该在这个描述的元素之上放置一些链接.由于某些原因,链接必须在其他<ul>元素中.它们也包裹着内联<li>元素.我希望它们位于所描述的<li>项目正上方.这可以通过<li>如上设置固定宽度的项目来完成.现在,问题是每个链接中的文本实际上具有不同的宽度并且会分成两行,但我必须将它放在一行中.

所以我想欺骗浏览器:文本将溢出<li>项目.

.liElem {
  width: 100px;
  height: 20px;
  overflow: visible;
}
Run Code Online (Sandbox Code Playgroud)

但是,正如您可能猜到的那样,文本分为两行,实际上是列表项的底部,而不是右侧.

我想要的效果可以通过&nbsp;在文本中插入空格来完成:<li><a href="#">Add&nbsp;to&nbsp;Favourites</a></li>.

所以,我的问题是:如何以css方式使通常的文字不要分成几行?

html css

8
推荐指数
1
解决办法
7385
查看次数

Adobe CQ5自定义servlet路径

我正在尝试为某些节点添加一些json处理功能.所以我写了自定义servlet扩展,SlingSafeMethodsServlet当用户为以下url进行GET时我需要执行它:/data/events/any_sequence/any_sequence.json/data/events/any_sequence/any_sequence.infinity.json或者例如/ data /events/any_sequence/any_sequence.2.json其中any_sequence当然是指任何有效的符号序列.

问题是我无法在吊索文档中找到如何将此模板映射为url.

我一直在尝试设置这样的属性:

@Component
@Service
@Properties({
    @Property(name = "sling.servlet.resourceTypes", value = "data/events/-/-"),
    @Property(name = "sling.servlet.extensions", value = "json"),
    @Property(name = "sling.servlet.methods", value = "GET"),
    @Property(name = "service.description", value = "JSON advanced renderer")
})
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.我检查了felix控制台,发现我的服务已经启动并运行,所以问题是如何设置url映射.所以我的问题是如何在我的情况下设置url映射来调用我的自定义servlet的doGet?

谢谢.

adobe servlets aem

1
推荐指数
1
解决办法
9933
查看次数