我有一个thunk名为logInline(改编自Co文档).
我注意到thunkified get总是似乎是yield一个数组.这是设计的吗?它是这样thunkify做的,还是标准的一部分yield?
var co = require('co'),
get = thunkify(request.get);
var logInline = co(function *(){
var google = yield get('http://google.com');
console.log(google[0].statusCode);
})
logInline()
Run Code Online (Sandbox Code Playgroud)
请注意,此处的变量'google'始终是一个数组.为什么?请注意,request.get通常返回err, response(即没有数组).
脚本BTW返回200google.com返回的任何其他响应代码.
唉产量文件是相当稀疏ATM.
编辑: Thunk并不总是返回数组.例如,如果var readFile = thunkify(fs.readFile);:
var fileContents = yield readFile('myfile', 'utf8');
log(fileContents);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,fileContents不会在数组中返回.那么为什么谷歌在一个阵列里? 在thunkify中似乎有一些东西可以控制thunk返回的内容
我需要生成一个格式为:
products :
[
{
"product_id": 32,
"quantity": 2
},
{
"product_id": 33,
"quantity": 2,
"product_options":
[
{
"id": 87,
"value": 10
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法完成product_id和数量:
productID = 32;
prodQuantity = 2;
var row2 = {};
row2.product_id = productID;
row2.quantity = prodQuantity;
product.push(row2);
productID = 33;
prodQuantity = 2;
var row2 = {};
row2.product_id = productID;
row2.quantity = prodQuantity;
product.push(row2);
Run Code Online (Sandbox Code Playgroud)
如何使用id和value添加元素product_options.
我尝试过各种变化:
var row3 = {};
row3.id = 87;
row3.value = 10;
cartArray['product_options'].push(row3);
Run Code Online (Sandbox Code Playgroud)
我用它管理它:
var prodQuantity = app.getValue('popupDropdown').value;
var …Run Code Online (Sandbox Code Playgroud) 有人可以向我解释这里发生的事情导致我的属性被附加到窗口对象:
var MyObject = (function () {
this.property1 = "prop1";
return this;
})();
// window.property1 now exists as well as MyObject.property1
Run Code Online (Sandbox Code Playgroud)
这是"正确"的方式:
var MyObject = (function () {
var MyObject = {};
MyObject.property1 = "prop1";
return MyObject;
})();
// only MyObject.property1 now exists
Run Code Online (Sandbox Code Playgroud) 所以我有一个简单的html页面:
<h1>Start</h1>
<canvas class="myCanvas" width="400" height="400"></canvas>
<canvas class="myCanvas" width="400" height="400"></canvas>
Run Code Online (Sandbox Code Playgroud)
在jquery我做,
> $(".myCanvas")
| [<canvas class=?"myCanvas" width=?"400" height=?"400">?,
| <canvas class=?"myCanvas" width=?"400" height=?"400">?]
Run Code Online (Sandbox Code Playgroud)
然后,
> $(".myCanvas").first()
| [<canvas class=?"myCanvas" width=?"400" height=?"400">?]
Run Code Online (Sandbox Code Playgroud)
我认为我应该在第一个()方法的调用中得到一个元素,就像在
> $(".myCanvas").get(0)
| <canvas class=?"myCanvas" width=?"400" height=?"400">?
Run Code Online (Sandbox Code Playgroud)
那么为什么第一个方法返回一个数组..?
我正在whiting firefox扩展.我得到了读取文件内容的功能:
var HelloWorld = {...
getData: function () {
var env = Components.classes["@mozilla.org/processenvironment;1"].getService(Components.interfaces.nsIEnvironment);
var path = env.get("TEMP");
path = path + "\\lastcall.txt"
alert(path);
Components.utils.import("resource://gre/modules/osfile.jsm");
let decoder = new TextDecoder();
let promise = OS.File.read(path);
var line = null;
promise = promise.then(
function onSuccess(array) {
line = decoder.decode(array)
alert(line);
return line;
}
);
alert("ducky:"+line+"duck");
},
...};
Run Code Online (Sandbox Code Playgroud)
我除了那line将是相同的,因为声明在函数外.从内心的警报,我得到了适当的价值,但从我得到的外部duckynullduck.如何解决它
我正在读一本关于JS数据结构的书,它提到:
javascript中的数组被实现为对象,导致它们比使用其他语言(如C++和Java)构建的数组效率低.
为什么?
我知道这听起来像是一个意见问题,但我是一名初级JavaScript技能人员,并希望了解以下每种方法获得this一个功能的技术优点和缺点(this当然,它有自己的功能).
让我们说我写 - 这是我的一个现实生活中的例子 -
Calculator.prototype.Initialize = function () {
// Fill in all regions in the RegionsChecked array
this.Data.forEach(function(region){
this.RegionsChecked.push(region.RegionName);
});
…
Run Code Online (Sandbox Code Playgroud)
我意识到了
"哎呀,
thisinthis.RegionsChecked应该实际引用Calculator调用Intialize函数的函数."
我要么通过这样做来解决这个问题
var that = this;
this.Data.forEach(function(region){
that.RegionsChecked.push(region.RegionName);
});
Run Code Online (Sandbox Code Playgroud)
要么
(function(calc){
this.Data.forEach(function(region){
calc.RegionsChecked.push(region.RegionName);
});
})(this);
Run Code Online (Sandbox Code Playgroud)
我想知道哪个更好或者有更好的方式(以及为什么).
我有时会看到类似下面的东西.
class Test(val str: String){
}
Run Code Online (Sandbox Code Playgroud)
我写了一些示例代码,val但我没有看到常见声明和方式之间有任何区别val.
他们之间有什么区别?什么时候应该使用?
我想截断整个数据库,同时保持序列同一性。我想出了这样的事情:
WITH tables_to_be_truncated AS (
SELECT table_name
FROM information_schema.tables
WHERE table_type='BASE TABLE'
AND table_schema='public'
AND table_name NOT IN ('admins', 'admin_roles')
)
TRUNCATE TABLE (SELECT table_name FROM tables_to_be_truncated) CONTINUE IDENTITY RESTRICT;
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ERROR: syntax error at or near "TRUNCATE"
LINE 9: TRUNCATE TABLE (SELECT table_name FROM tables_to_be_truncated...
Run Code Online (Sandbox Code Playgroud)
我确实有权截断表,并且当我运行单个表时,TRUNCATE TABLE access_tokens它工作得很好。
我也尝试过这个
ERROR: syntax error at or near "TRUNCATE"
LINE 9: TRUNCATE TABLE (SELECT table_name FROM tables_to_be_truncated...
Run Code Online (Sandbox Code Playgroud)
但效果不太好。
从我在其他帖子中看到的情况来看,人们正在用函数来做这件事。老实说,我不想走这条路,但如果这是唯一的方法......
假设我想同时获取 10 个 url,并在收到响应时对其进行处理(其顺序可能与它们在原始列表中出现的顺序不同)。忽略拒绝的可能性,一种方法是简单地为每个 Promise 附加一个“then”回调,然后等待它们全部使用完成Promise.all()。
const fetch_promises = [
fetch("https://cors-demo.glitch.me/allow-cors"),
fetch("/"),
fetch("."),
fetch(""),
fetch("https://enable-cors.org"),
fetch("https://html5rocks-cors.s3-website-us-east-1.amazonaws.com/index.html"),
fetch("https://api.github.com"),
fetch("https://api.flickr.com/services/rest/"),
];
const processing_promises = [];
for (const fetch_promise of fetch_promises) {
processing_promises.push(fetch_promise.then(response => {
// Process response. In this example, that means just
// print it.
console.log("got a response: ",response);
}));
}
await Promise.all(processing_promises);
Run Code Online (Sandbox Code Playgroud)
切换到输出更清晰、更具确定性的示例:
const sleep = millis => new Promise(resolve=>setTimeout(resolve, millis));
const sleep_promises = [
sleep(3000).then(()=>"slept 3000"),
sleep(1000).then(()=>"slept 1000"),
sleep(5000).then(()=>"slept 5000"),
sleep(4000).then(()=>"slept 4000"),
sleep(2000).then(()=>"slept 2000"),
];
const processing_promises …Run Code Online (Sandbox Code Playgroud) javascript ×8
promise ×2
arrays ×1
async-await ×1
co ×1
dynamic-sql ×1
fetch ×1
generator ×1
inheritance ×1
jquery ×1
node.js ×1
oop ×1
postgresql ×1
scala ×1
scope ×1
thunk ×1
truncate ×1
yield ×1