小编Mer*_*lli的帖子

使用生成器和承诺时传播异常

这个问题是关于通过使用生成器和承诺来模拟async/的行为await,如下所述:https :
//gist.github.com/ChrisChares/1ed079b9a6c9877ba4b43424139b166d

这是暴露问题的最小示例:
该函数async是从上面的链接中逐字提取的。

function async(gen, context = undefined) {
	const generator = typeof gen === 'function' ? gen() : gen; // Create generator if necessary
	const { value: promise } = generator.next(context); // Pass last result, get next Promise
	if ( typeof promise !== 'undefined' ) {
		promise.then(resolved => async(generator, resolved))
		.catch(error => generator.throw(error)); // Defer to generator error handling
	}
}

function timesTwoPlusOne(num){ //multiplies argument by 2 and adds one, …
Run Code Online (Sandbox Code Playgroud)

javascript exception-handling generator promise ecmascript-6

5
推荐指数
0
解决办法
132
查看次数

Babel 输出路径来维护输入路径的目录结构

给定以下示例目录结构:

srcDir/file1.js
srcDir/subDir1/file2.js
srcDir/subDir2/file3.js
Run Code Online (Sandbox Code Playgroud)

我想处理这些文件,babel-cli以便输出文件destDir以相同的相对目录结构结束。

那是:

destDir/file1.js
destDir/subDir1/file2.js
destDir/subDir2/file3.js
Run Code Online (Sandbox Code Playgroud)

我不想处理所有文件srcDir,只处理其中的一些。

我想我必须指定一个输入目录、一个文件路径列表和一个输出目录。
但是 Babel 的命令行帮助并没有解释怎么做。

Usage: babel [options] <files ...>

Options:
  -f, --filename [filename]                   filename to use when reading from stdin - this will be used in source-maps, errors etc
  --presets [list]                            comma-separated list of preset names
  --plugins [list]                            comma-separated list of plugin names
  --config-file [path]                        Path to a .babelrc file to use
  --env-name [name]                           The name of the 'env' to use when loading configs …
Run Code Online (Sandbox Code Playgroud)

output-directory babeljs babel-cli

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

如何在 SVG 中的蒙版后应用滤镜?

我有以下 SVG:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
	<mask id="mask">
		<rect x="0" y="0" width="100" height="100" fill="white"/>
		<circle cx="50" cy="50" r="33" fill="black"/>
	</mask>
	
	<filter id="dropShadow">
		<feGaussianBlur in="SourceAlpha" stdDeviation="3"/>
		<feOffset dx="4" dy="4"/>
		<feMerge>
			<feMergeNode/>
			<feMergeNode in="SourceGraphic"/>
		</feMerge>
	</filter>
	
	<circle cx="50" cy="50" r="50" fill="green" filter="url(#dropShadow)" mask="url(#mask)"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

它基本上是一个带有阴影的戒指。
问题是阴影在圆环内部不可见,因为滤镜是在圆环被遮罩之前应用到圆环上的。

但我正在寻找的是将过滤器应用于已经屏蔽的对象。
我怎样才能做到这一点?

PS:在这个简单的例子中,使用掩码没有多大意义。只是为了说明问题而已。

svg mask cross-browser web svg-filters

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

在Windows中,即使没有待处理的输入,如何强制C的fread返回?

在具有两个线程的Windows程序中:thread1thread2.

thread1fread(buffer, 1, 10, stdin)等待输入的呼叫中被阻止时,是否可以执行某些操作thread2以强制fread返回?

到目前为止,我打过电话fclose(stdin)thread2,但它似乎并没有工作.程序在fclose调用时卡住,直到stdin流中有一些输入为止.

我想要实现的是thread1优雅地终止而不是仅仅用它来杀死它TerminateThread,因为最后还有一些工作thread1需要做.

另一件需要考虑的事情是它stdin是命名管道的一端.我无法控制管道另一端的程序.
我需要的是断开我的程序与管道的末端(stdin在这种情况下).

c winapi stdin fread eof

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

C 中 cin.ignore() 的等价物是什么?

我知道 C++ 流函数是建立在 C 的stdio库之上的。

我必须在 C 中做什么才能获得与 相同的结果cin.ignore(n)
例如,我应该使用stdio函数fseek(stdin, n, 0)还是使用其他方法cin.ignore

c c++ stdin stdio cin

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