小编Vic*_*huk的帖子

并行调用async/await函数

据我所知,在ES7/ES2016中,将多个await代码放在代码中将类似于.then()使用promise 进行链接,这意味着它们将一个接一个地执行,而不是在并行执行.所以,例如,我们有这个代码:

await someCall();
await anotherCall();
Run Code Online (Sandbox Code Playgroud)

我是否理解正确,anotherCall()只有在someCall()完成后才会被调用?并行调用它们的最优雅方式是什么?

我想在Node中使用它,所以也许有一个async库的解决方案?

编辑:我对这个问题中提供的解决方案不满意:由于异步生成器中的非并行等待承诺而减速,因为它使用生成器而我正在询问更一般的用例.

javascript asynchronous node.js ecmascript-6 babeljs

347
推荐指数
9
解决办法
14万
查看次数

使用简单数组init的ng-options

我对Angular和ng-options.有点困惑.

我有一个简单的数组,我想用它初始化一个选择.但是,我希望选项值=标签.

的script.js

$scope.options = ['var1', 'var2', 'var3'];
Run Code Online (Sandbox Code Playgroud)

HTML

<select ng-model="myselect" ng-options="o for o in options"></select>
Run Code Online (Sandbox Code Playgroud)

我得到了什么:

<option value="0">var1</option>
<option value="1">var2</option>
<option value="2">var3</option>
Run Code Online (Sandbox Code Playgroud)

我想要的是:

<option value="var1">var1</option>
<option value="var2">var2</option>
<option value="var3">var3</option>
Run Code Online (Sandbox Code Playgroud)

所以我尝试过:

<select ng-model="myselect2" ng-init=0 ng-options="options[k] as v for (k,v) in options"></select>

<select ng-model="myselect3" ng-init=0 ng-options="b as b for b in options"></select>
Run Code Online (Sandbox Code Playgroud)

(但它不起作用.)

编辑:

我的表单是外部提交的,这就是为什么我需要'var1'作为值而不是0.

angularjs ng-grid ng-options

185
推荐指数
5
解决办法
18万
查看次数

JavaScript双冒号(绑定运算符)

如您所知,有一个.bind()功能快捷方式的建议,所以您可以写:

::this.handleStuff
Run Code Online (Sandbox Code Playgroud)

它将在es5中像那样工作:

this.handleStuff.bind(this)
Run Code Online (Sandbox Code Playgroud)

我的问题是:这样可以传递参数吗?

我的意思是用上述快捷方式编写这个方法:

this.handleStuff.bind(this, 'stuff')
Run Code Online (Sandbox Code Playgroud)

这在React中是一个非常常见的模式,所以稍微缩短它会很好.

javascript ecmascript-harmony ecmascript-next

127
推荐指数
1
解决办法
3万
查看次数

Angular的$ q.reject()vs deferred.reject()

我正在尝试处理Angular $q服务及其相关对象和API.当我在控制台中查看对象时,我看到:

var deferred = $q.defer()

...(and then from console inspection)...

$q: Object {defer: function, reject: function, when: function, all: function}

deferred: Object {resolve: function, reject: function, notify: function, promise: Object}

deferred.promise: Object {then: function, catch: function, finally: function}
Run Code Online (Sandbox Code Playgroud)

它提出了几个问题:

  1. $q.reject()和之间有什么区别deferred.reject()?什么时候使用?
  2. errorFnin deferred.promise.then(successFn, errorFn)catchFnin 之间的关系是deferred.promise.catch(catchFn)什么?
  3. 如果我有一堆嵌套的promises并且发生错误,那么最外面的catch()函数是否会被调用?如果其中一个嵌套的promises也定义了catch函数怎么办?这种捕获会阻止最外层的捕获吗?

谢谢.

javascript promise angularjs

64
推荐指数
2
解决办法
5万
查看次数

使用javascript更改svg路径

有SVG路径:

<svg id="sss" viewBox = "0 0 500 300" version = "1.1">
 <defs>
   <path id="s3" d="M 10,90 Q 100,15 200,70 "/>
 </defs>
Run Code Online (Sandbox Code Playgroud)

如何更改d值?

为什么这alert(document.getElementById('s3').d);会给我undefined

html javascript svg

23
推荐指数
2
解决办法
3万
查看次数

try/catch在PHP中不起作用

为什么我收到此错误?

Warning: file_get_contents(http://www.example.com) [function.file-get-contents]: failed to open stream: HTTP request failed! in C:\xampp\htdocs\test.php on line 22

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\test.php on line 22
Run Code Online (Sandbox Code Playgroud)

这是代码:

 try {
    $sgs = file_get_contents("http://www.example.com");
 }
 catch (Exception $e) {
    echo '123';
 }
 echo '467';
Run Code Online (Sandbox Code Playgroud)

是不是尝试\ catch应该继续执行代码?或者也许有一些不同的方式来做到这一点?

php try-catch

15
推荐指数
2
解决办法
2万
查看次数

不可点击的div与位置:固定

我想制作一个与position:fixed内容重叠的div ,但不能点击,即当你点击该div的区域时,你点击它下面的内容.因此,div下的文本可以很容易地选择.有没有办法做到这一点?

html css

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

ES6全球导入

在项目的所有文件中导入一些模块的最佳方法是什么,所以我不必编写如下内容:

import React from 'react';
import Reflux from 'reflux';
import reactMixin from 'react-mixin';
Run Code Online (Sandbox Code Playgroud)

在几乎每个文件?

javascript module ecmascript-harmony ecmascript-6

13
推荐指数
2
解决办法
8142
查看次数

使用图像精灵在HTTP/2中有意义吗?

在HTTP/2中不需要捆绑JS和CSS文件,但是图像精灵呢?

看一下这个演示,它似乎已经比HTTP/1.1更快地运行,但不会将图像捆绑到精灵中使它更快?我的意思是,当所有数据都在一个文件中时,PNG的优化算法不会更好吗?

png jpeg http image-optimization http2

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

为什么没有像IE9这样的老式浏览器的flexbox polyfill?

是否存在阻碍人们创建它的一些问题?太复杂了吗?

也许没有必要呢?

是它已经创建了它,我只是找不到它?

我想它是一个基于js的库并以这种方式工作:

  1. 它检查浏览器是否本机支持flexbox;

  2. 如果没有,它会解析CSS并检查元素是否具有与flexbox相关的规则;

  3. 如果是这样,它会尝试通过计算子元素的所有位置和大小并使用它们来定位这些规则position: absolute;.

基本上,与砌体和类似的库相同,但使用flexbox规则.那可能吗?

编辑:这个问题没有解释为什么不能这样做.

html javascript css css3 flexbox

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