小编dei*_*tch的帖子

如何使用JS fetch API上传文件?

我仍然试图绕过它.

我可以让用户通过文件输入选择文件(甚至多个):

<form>
  <div>
    <label>Select file to upload</label>
    <input type="file">
  </div>
  <button type="submit">Convert</button>
</form>
Run Code Online (Sandbox Code Playgroud)

我可以submit使用这个事件<fill in your event handler here>.但是一旦我这样做,我该如何使用该文件发送fetch

fetch('/files', {
  method: 'post',
  // what goes here? What is the "body" for this? content-type header?
}).then(/* whatever */);
Run Code Online (Sandbox Code Playgroud)

javascript fetch-api

143
推荐指数
8
解决办法
11万
查看次数

为什么借用的范围不是迭代器,但范围是?

范围如何被消耗的一个例子是:

let coll = 1..10;
for i in coll {
    println!("i is {}", &i);
}
println!("coll length is {}", coll.len());
Run Code Online (Sandbox Code Playgroud)

这将失败

error[E0382]: borrow of moved value: `coll`
   --> src/main.rs:6:35
    |
2   |     let coll = 1..10;
    |         ---- move occurs because `coll` has type `std::ops::Range<i32>`, which does not implement the `Copy` trait
3   |     for i in coll {
    |              ----
    |              |
    |              `coll` moved due to this implicit call to `.into_iter()`
    |              help: consider borrowing to avoid moving …
Run Code Online (Sandbox Code Playgroud)

iterator reference rust

59
推荐指数
2
解决办法
3838
查看次数

sinon stub withArgs可以匹配一些但不是所有参数

我有一个函数我正在使用多个参数调用它.我想检查第一个参数.其余的是回调功能,所以我想让他们独自一人.因此,我可能会使用ajax作为示例进行以下2次调用:

method.get = sinon.stub();
method.get(25,function(){/* success callback */},function(){/* error callback */});         
method.get(10,function(){/* success callback */},function(){/* error callback */});
Run Code Online (Sandbox Code Playgroud)

我不能使用,method.get.calls...因为它没有区分第一个get(25)和第二个get(10).但是,如果我使用method.get.withArgs(25).calls...那么它也不匹配,因为withArgs()匹配所有参数,这不会(并且永远不会,与回调类似).

我怎样才能让sinon存根根据第一个arg进行检查和设置响应?

sinon

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

有没有办法为Firebase用户创建和/或密码重置进行电子邮件确认?

问题说明了一切.在Firebase中,如何在用户创建帐户时确认电子邮件,或者就此而言,通过电子邮件重置密码.

我可以更广泛地问:有没有办法从Firebase发送电子邮件?例如通知等.这不是你通常会在客户端做的事情.

firebase firebase-security

34
推荐指数
5
解决办法
3万
查看次数

AngularJS自定义表单验证错误消息

有没有办法在自定义表单验证中传递错误消息?

例如,我有一个检查用户名的指令.有三种可能的结果:

  1. 这是有效的
  2. 它无效,因为它不是一个好的用户名("this.is-invalid")
  3. 它无效,因为它已被使用

我有一个像(简化伪html)的指令:

<input type="text" namecheck></input><span ng-show="name.$error.namecheck">You had an error {{ error }}</span>
Run Code Online (Sandbox Code Playgroud)

在我的自定义指令中,我可以做到

// check for a conflict and valid name here
ngModel.$setValidity("namecheck",false);
Run Code Online (Sandbox Code Playgroud)

但是,如何传递错误消息,指出问题是冲突还是无效的名称?有什么相似的ngModel.$setValidityErrorMessage()吗?

angularjs angularjs-directive

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

当它在nodejs中的不同文件中时,如何获取调用方法的dirname?

假设我有两个文件,dir/a.js并且lib/b.js

a.js:

b = require('../lib/b');
b.someFn();
Run Code Online (Sandbox Code Playgroud)

b.js:

var fallback = "./config.json";
module.exports = {
  someFn = function(jsonFile) {
    console.log(require(jsonFile || fallback);
  }
}
Run Code Online (Sandbox Code Playgroud)

b.js这个例子的全部目的是读取一个json文件,所以我可以称之为b.someFn("path/to/file.json").

但我希望有一个默认值,如配置文件.但是默认的应该是相对于a.js而不是b.js.换句话说,我应该可以打电话b.someFn()a.js它,它应该说,"既然你没有把我的路径传给我,我会假设一条默认路径config.json." 但是默认应该是相对的a.js,即应该是,dir/config.json不是 lib/config.json,如果我这样做,我会得到require(jsonFile).

我可以得到cwd,但只有从内部启动脚本才会有效dir/.

有没有办法b.js说,在里面someFn(),"给我一个__dirname叫我的功能?"

node.js

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

如何做异步JavaScript getter和setter?

想想Rails如何允许您将属性定义为与另一个属性相关联:

class Customer < ActiveRecord::Base
  has_many :orders
end
Run Code Online (Sandbox Code Playgroud)

这不会为其设置数据库列orders.相反,它创造了一个吸气剂orders,这使我们能够做到

@orders = @customer.orders
Run Code Online (Sandbox Code Playgroud)

哪个去获取相关orders对象.

在JS中,我们可以使用getter轻松实现:

{
   name: "John",
   get orders() {
     // get the order stuff here
   }
}
Run Code Online (Sandbox Code Playgroud)

但是Rails是同步的,而在JS中,如果在我们的例子中,合理的话,我们将进入数据库,我们将把它做为异步.

我们如何创建异步getter(以及setter)?

我们会回复最终得到解决的承诺吗?

{
   name: "John",
   get orders() {
     // create a promise
     // pseudo-code for db and promise...
     db.find("orders",{customer:"John"},function(err,data) {
        promise.resolve(data);
     });
     return promise;
   }
}
Run Code Online (Sandbox Code Playgroud)

这将允许我们这样做

customer.orders.then(....);
Run Code Online (Sandbox Code Playgroud)

或者我们会做更多角度风格,我们会自动将其解析为值吗?

总之,我们如何实现异步吸气剂?

javascript promise

17
推荐指数
2
解决办法
8929
查看次数

除了一个单元格及其边缘有角度外,如何使整行可单击?

假设我有一行看起来像

<tr>
  <td>John</td>
  <td>Smith</td>
  <td>Approved?<input type="checkbox"/></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

每行显示一名员工,并允许您检查批准/拒绝员工(例如,注册课程).我希望用户能够点击该行的任何位置以获得有关该员工的更多详细信息,但如果他们点击最后一列("已批准?"),则不应该更详细,因为它应该只是更改复选框.

以下是我所知道的解决方案,没有一个是伟大的:

  1. 整行:<tr class="clickable" ng-click="go()">.使所有单元格和边距可单击,并且只需要一个ng-click条目,但是复选框会导致"go()"执行,这很糟糕.
  2. 每个细胞:<td class="clickable" ng-click="go()">...<td class="clickable" ng-click="go()">.Pro:可以限制我想要的细胞.骗局:很多重复(不是干),并且错过了边距.
  3. 整行有特殊的"go"fn : <tr class="clickable" ng-click="go()">,但"go"知道如何区分不同的单元格.亲:确切有效果.Con:在专门的控制器动作中需要大量的视图/ html知识.

如何才能使前2列及其边距可以点击,而不是第3列或其边距?

angularjs

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

如何将ES6 tmLanguage安装到TextMate 2中?

我想安装ES6语言的语法高亮显示在https://github.com/Benvie/JavaScriptNext.tmLanguage为TextMate的2.我克隆回购协议,但它有一个.tmLanguage带有多个文件目录(.tmTheme,.tmLanguage,等).

显然,TM2只支持内部的所有内容.tmBundle.是否有任何干净的方法来安装语言支持?

textmate textmatebundles

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

如何在单个URL中包含S3存储桶名称和区域/端点?

如果我有一个名为mybucketin 的存储桶region=us-east-1,那么我可以使用它来访问它

aws s3 ls s3://mybucket --region=us-east-1
Run Code Online (Sandbox Code Playgroud)

但是,这需要传递两条信息:

  1. 网址 s3://mybucket
  2. 区域us-east-1(或端点,以哪个为准)

理想情况下,URL是统一资源定位器.它具有protocol(s3)和存储桶名称,这很棒,但是有一个AWS S3标准的单个URL ,它对区域和存储桶名称进行编码,这样我就能做到:

aws s3 ls s3://mybucket_url_including_region_or_endpoint
Run Code Online (Sandbox Code Playgroud)

编辑:

为了澄清,我不是在寻找端点列表.我正在寻找s3 URL如何真正成为统一资源定位器,通过封装其中的所有必要信息来获取资源(当然,减去auth凭证).

amazon-s3 amazon-web-services

10
推荐指数
2
解决办法
7441
查看次数