Aria2通过websocket来调用aria2的rpc服务,实现状态查询、创建下载任务,这样可以解决ajax的跨域问题。不过这样NAS服务器要新开一个端口,而且旧浏览器并不支持。此时可使用代理服务器。
最近 node.js 一个比较出名的 http request 模块停止维护了。其实这个模块已经变得非常臃肿,模块依赖过多,体积过大,接口不统一。
其实现在node.js的http模块已经非常完善,几行代码就能自己写一个。模拟post指定 data 即可:
request({ url: 'http://ourjs.com/home', data: { abc: 1 } }, function(err, response, data) {
console.log(data)
})
在Node.JS中,如果你即不喜欢回调代码嵌套,也不喜欢promise的链式写法,可以使用async/await将程序改造成顺序执行的。那么调用时和普通函数调用有何不同? 因为 await 只能在async中调用,因此可以:
(async () => {
await asyncCall()
console.log(2)
})();
在ES6语法中,可以通过async/await将上面的回调函数按顺序执行。
首先将原来的方法 promisify 化,引用 util 库将 step 函数即可:
const util = require('util')
var stepAsync = util.promisify(step)
然后用 async/await 顺序执行,注意 await 只能在 async 函数中使用
var test = async function() {
let result1 = await stepAsync(0)
let result2 = await stepAsync(0)
console.log(result1, result2)
}
test()
OAuth 2.0 是一个行业的标准授权协议。它的最终目的是为第三方应用颁发一个有时效性的令牌 token。使得第三方应用能够通过该令牌获取相关的资源。常见的场景就是:第三方登录。登录流程大致如下:
JavaScript的数据中可通过splice/slice在指定位置添加或删除元素。另外还有slice、delete等方法实现。
splice方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。
arrayObject.splice(index, howmany, item1, ..., itemX)
sales\报表.png
/file/view/sales/%E6%8A%A5%E8%A1%A8.png
pre {
word-wrap: break-word;
white-space: pre-wrap;
padding: 9.5px;
background-color: #f5f5f5;
border: 1px solid #ccc;
}