作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我想在计算完两个 query.on 后返回值 json10 。但是 query.on 是异步的,因此我在计算 json10 之前从函数返回。如何构造此函数,以便在从函数返回之前完成 query.on?
function getJsn(mystr){
var query = doc.query(mystr);
var json10;
query.on("row", function (row, result) {
result.addRow(row);
});
query.on("end", function (result) {
var json1 = JSON.stringify(result.rows, null, " ");
json10= json1;
var json = JSON.parse(json1);
for(var i = 0; i < json.length; i++) {
var obj = json[i];
}
})
return json10;
}
最佳答案
您将需要使用回调,因为您在 getJsn
内是异步的
function getJsn(mystr, cb){
var query = doc.query(mystr);
var json10;
query.on("row", function (row, result) {
result.addRow(row);
});
query.on("end", function (result) {
var json1 = JSON.stringify(result.rows, null, " ");
json10= json1;
var json = JSON.parse(json1);
for(var i = 0; i < json.length; i++) {
var obj = json[i];
}
cb(json10);
})
}
并这样调用它
getJsn(someStr, function(ret) {
console.log( ret ); // this should return json10
});
关于javascript - 由于异步函数,函数过早返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45393217/
我的测试代码: int SIZE = 1900; int[][] array = new int[SIZE][]; for (int i = 0; i < SIZE; i++) { array[i
我有一堆 WAV 文件和一个将它们复制到另一个目录的脚本,但使用 SoX 处理了一些文件。输出的文件都应该有 1 个 channel ,采样率不超过 44.1khz。我的大多数文件要么有一个以上的 c
我正在运行一个相当占用内存的 Python 脚本,但似乎我的机器正在提前终止进程。我安装了 16GB(并通过 lshw -class memory 确认),但我的进程似乎在使用量达到 4GB 左右时被
我很难确定在使用 .NET 的 HttpWebRequest 类调用远程服务器(特别是 REST Web 服务)时是否有办法处理潜在的连接问题。根据我的调查,WebClient 类的行为是相同的,这在
所以我有这个网址: http://test.com/afolder/who-else-wants-to-make-horror-movies%3f/ 这是 URL 编码版本: http://test.
我是一名优秀的程序员,十分优秀!