我读过以下内容:
超文本传输协议(HTTP)是网络的生命.每次传输文档或发出AJAX请求时都会使用它.但是,令人惊讶的是,在某些Web开发人员中,HTTP相对未知.
HTTP谓词构成了我们"统一接口"约束的主要部分,并为我们提供了与基于名词的资源相对应的动作.主要或最常用的HTTP谓词(或方法,因为它们被正确调用)是POST,GET,PUT和DELETE.
好吧,我们突然忘记了事情.
PUT并且DELETE,他们说.我只听说过POST和GET,从来没有见过类似的东西$_PUT或者$_DELETE在我曾经看到任何PHP代码经过.
这些方法(PUT)和(DELETE)是什么,如果可以在PHP中使用它们,我将如何解决这个问题.
注意:我知道这不是一个真正的问题但我总是抓住一个学习机会,如果我看到一个,并且非常想学习在PHP中使用这些方法,如果可能的话.
在以下代码中:
var p1 = new Promise(function (resolve, reject) {
throw 'test1';
});
var p2 = new Promise(function (resolve, reject) {
reject('test2');
});
p1.catch(function (err) {
console.log(err); // test1
});
p2.catch(function (err) {
console.log(err); // test2
});
Run Code Online (Sandbox Code Playgroud)
从api 使用reject(in p2)Promise和使用错误(in p1)之间有什么区别throw吗?
它完全一样吗?
如果它相同,为什么我们需要reject回调呢?
关于这两个很重要的来源:NZakas - 承诺链中的承诺和MDN承诺,我想问以下问题:
每次我们从promise履行处理程序返回一个值时,该值是如何传递给从同一个处理程序返回的新promise?
例如,
let p1 = new Promise(function(resolve, reject) {
resolve(42);
});
let p2 = new Promise(function(resolve, reject) {
resolve(43);
});
let p3 = p1.then(function(value) {
// first fulfillment handler
console.log(value); // 42
return p2;
});
p3.then(function(value) {
// second fulfillment handler
console.log(value); // 43
});
Run Code Online (Sandbox Code Playgroud)
在这个例子中,p2是一个承诺.p3也是源于p1履行处理者的承诺.但是p2 !== p3.相反,p2不知何故神奇地解决43(如何?),然后将该值传递给p3履行处理程序.即使是这里的句子也令人困惑.
你能否向我解释一下究竟发生了什么?我对这个概念感到困惑.
当请求状态大于400(我已尝试过400,423,429状态)时,fetch无法读取返回的json内容.浏览器控制台中显示以下错误
未捕获(承诺)TypeError:无法在'Response'上执行'json':正文流被锁定
我显示了返回的响应对象的内容,如下所示:
但几个月前我仍然可以使用它.
我的问题如下:
PS:我的浏览器版本是Google Chrome 70.0.3538.102(正式版本)(64位)
为什么大多数(所有?)网站仅支持ASCII用户名?如果管理员决定开始接受Unicode用户名,是否有任何安全注意事项?
我喜欢Async/Await在Typescript等中提供的新功能的平坦性.但是,我不确定我喜欢这样一个事实,即我必须await在try...catch块的外部声明变量才能在以后使用它.像这样:
let createdUser
try {
createdUser = await this.User.create(userInfo)
} catch (error) {
console.error(error)
}
console.log(createdUser)
// business
// logic
// goes
// here
Run Code Online (Sandbox Code Playgroud)
如果我错了,请纠正我,但似乎最好不要在机构中放置多行业务逻辑try,所以我只留下createdUser在块外声明,在块中分配它的替代方案,以及然后用它.
在这种情况下,最佳做法是什么?
我是ES6和React的新手,我一直在看箭头功能.为什么有些箭头函数在胖箭头之后使用花括号而有些使用括号?例如:
const foo = (params) => (
<span>
<p>Content</p>
</span>
);
Run Code Online (Sandbox Code Playgroud)
与
const handleBar = (e) => {
e.preventDefault();
dispatch('logout');
};
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
初始点:
fn :: [a] -> Int
fn = (2 *) . length
Run Code Online (Sandbox Code Playgroud)
比方说,我们只是想约束的返回值,那么我们可以这样写:
fn list = (2 * length list) :: Int
Run Code Online (Sandbox Code Playgroud)
如何仅限制参数?简单.
fn list = 2 * length (list :: [Char])
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但最好是收集顶部的签名而不是散布在函数体周围.
这是我能得到的最接近的:
fnSig = undefined :: [Char] -> a
fn | False = fnSig
| True = (* 2) . length
Run Code Online (Sandbox Code Playgroud)
基于http://okmij.org/ftp/Haskell/partial-signatures.lhs通过http://okmij.org/ftp/Haskell/types.html#partial-sigs
但是,我想要一个更清洁的解决方案.更好地沟通的东西,我的意图是部分限制.像这样的东西,例如:
fn :: [Char] -> a
fn = (2 *) . length
Run Code Online (Sandbox Code Playgroud)
或者可能:
fn :: [Char] -> _
fn …Run Code Online (Sandbox Code Playgroud) 如果我有一个网址数组:
var urls = ['1.txt', '2.txt', '3.txt']; // these text files contain "one", "two", "three", respectively.
Run Code Online (Sandbox Code Playgroud)
我想构建一个如下所示的对象:
var text = ['one', 'two', 'three'];
Run Code Online (Sandbox Code Playgroud)
我一直在努力学习如何做到这一点fetch,这当然会回归Promises.
有些事情我已经试过了不工作:
var promises = urls.map(url => fetch(url));
var texts = [];
Promise.all(promises)
.then(results => {
results.forEach(result => result.text()).then(t => texts.push(t))
})
Run Code Online (Sandbox Code Playgroud)
这看起来不对,无论如何它都不起作用 - 我最终没有数组['one','two','three'].
Promise.all在这里使用正确的方法?
在 TypeScript 3.8+ 中,使用private关键字将成员标记为私有有什么区别:
class PrivateKeywordClass {
private value = 1;
}
Run Code Online (Sandbox Code Playgroud)
并使用为 JavaScript 提议的#私有字段:
class PrivateFieldClass {
#value = 1;
}
Run Code Online (Sandbox Code Playgroud)
我应该更喜欢一个吗?
javascript ×6
promise ×4
es6-promise ×2
fetch-api ×2
async-await ×1
class ×1
class-fields ×1
ecmascript-6 ×1
haskell ×1
http ×1
http-delete ×1
http-put ×1
node.js ×1
php ×1
private ×1
react-jsx ×1
security ×1
try-catch ×1
typescript ×1
unicode ×1
username ×1
web-services ×1