如何userId在我的匿名内部子类中获取传递给此方法的值?
public void doStuff(String userID) {
doOtherStuff(userID, new SuccessDelegate() {
@Override
public void onSuccess() {
Log.e(TAG, "Called delegate!!!! "+ userID);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
不能在不同方法中定义的内部类中引用非最终变量userID
我很确定我不能将它指定为final,因为它是一个具有未知值的变量.我听说这种语法确实以某种方式保留了范围,所以我认为必须有一个我还不太了解的语法技巧.
这似乎不起作用:
$.ajax({
url: "http://localhost:3000/foo.json",
data: { foo: 'bar' },
headers: { 'HTTP_X_CUSTOMHEADER': 'foobar' },
xhrFields: { withCredentials: true }
});
Run Code Online (Sandbox Code Playgroud)
当我在jsfiddle上运行它时,一个OPTIONS请求(根据Chrome调试工具)会触发,如下所示:
Access-Control-Request-Headers: Origin, HTTP_X_CUSTOMHEADER, Accept
Access-Control-Request-Method: GET
Origin: http://fiddle.jshell.net
Run Code Online (Sandbox Code Playgroud)
然后(根据Chrome调试工具)我的本地服务器返回以下标头:
(手动重新格式化以便于阅读)
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: HTTP_X_CUSTOMHEADER
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: http://fiddle.jshell.net
Access-Control-Max-Age: 10
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 1
Content-Type: text/html; charset=utf-8
Date: Wed, 14 Sep 2011 22:42:28 GMT
Server: WEBrick/1.3.1 (Ruby/1.8.7/2010-01-10)
X-Runtime: 2
Run Code Online (Sandbox Code Playgroud)
然后在控制台中我收到如下错误消息:
XMLHttpRequest cannot load http://localhost:3000/foo.json?foo=bar.
Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin. …Run Code Online (Sandbox Code Playgroud) 这里发生了什么?
var foo: [UInt8] = [1,2,3,4]
var bar: [UInt8] = foo[1...2] // 'Range<Pos>' is not convertible to 'Int'
Run Code Online (Sandbox Code Playgroud)
但这编译很好:
var foo: [UInt8] = [1,2,3,4]
var bar = foo[1...2]
Run Code Online (Sandbox Code Playgroud)
文档仅在替换方面明确提及:
shoppingList[4...6] = ["Bananas", "Apples"]
Run Code Online (Sandbox Code Playgroud)
那究竟什么Array[Range]回归呢?在两个数组索引之间获取对象的最简单方法是什么?
在 VS Code 中,我收到很多 lint 错误,但修复后它们不会刷新。如果你看一下图像,我删除了第 16 行,但它仍然出现。
这是 VS Code 中的错误吗?或者如何删除这些错误?
当jSLint运行时,javascript 对我大喊大叫,我不知道为什么.
/*jslint browser: true, devel: true, evil: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, newcap: true, immed: true */
var foo = function() {
try {
console.log('foo');
} catch(e) {
alert(e);
}
try {
console.log('bar');
} catch(e) {
alert(e);
}
};
foo();
Run Code Online (Sandbox Code Playgroud)
它告诉我:
第12行字符11的问题:'e'已经定义.
} catch(e) {
我有一秒钟似乎很不高兴catch(e).为什么这会成为问题?它不是简单地将e设置为catch块内的局部变量吗?我是否需要为函数中所有陷阱错误唯一命名局部变量?
javascript error-handling exception-handling jslint try-catch
我正在创建自己的GA库来自己构建跟踪像素的URL,因为我需要在无cookie的环境中使用GA.但我坚持为cookie格式创建域哈希.
在这个cookie中:
__utma=126394024.179004532335319200.1247654493.1260769004.1260878051.7
Run Code Online (Sandbox Code Playgroud)
第一部分126394024显然是"域哈希",虽然许多网站似乎都展示了它的使用方式,但我实际上无法弄清楚如何从域中生成它.这只是由谷歌服务器上的内部流程完成的,这是世界其他地方所不知道的吗?或者有没有办法让我自己散列域名以产生这个令牌?
我觉得我在这里错过了一些非常基本的...
所以我安装了一个npm库npm install somelib.从我所读到的,我应该能够简单地做一个
var somelib = require('somelib');
Run Code Online (Sandbox Code Playgroud)
但它找不到任何东西.我node_modules在我的应用程序的根目录下有一个目录,但它似乎没有找到它.
我试过require.paths.push('node_modules')但它没有帮助.似乎唯一有用的是:
require.paths.unshift('.');
var somelib = require('node_modules/somelib/lib/somelib');
Run Code Online (Sandbox Code Playgroud)
这让我觉得这比加载npm库所需的工作要多得多.我在这做错了什么?我认为在应用程序中安装模块意味着我不需要使用环境变量或路径吗?
假设我正在创建自己的模块,它位于"网络"模块的顶部.我的模块有自己的事件,但也允许客户端侦听tcp连接发出的网络事件:
mymod.on('myevent',...); // my event
mymod.on('connect',...); // net event
mymod.on('end',...); // net event
Run Code Online (Sandbox Code Playgroud)
现在我正在做以下事情
...
tcp.on('connect',function(){ self.emit('connect');});
tcp.on('end',function(){ self.emit('end');});
...
Run Code Online (Sandbox Code Playgroud)
我是否有更惯用的方式将所有事件(或事件的子集)从一个模块转发到另一个模块的客户端?
我希望这种情况一直都会出现,所以我想以最干净的方式做到这一点.
使用令人敬畏的ActiveAdmin gem我遇到了一个注释问题.
ActiveAdmin.register Sale do
belongs_to :channel
show do |sale|
# stuff to show sale resource...
# allow comments on sales
active_admin_comments
end
end
Run Code Online (Sandbox Code Playgroud)
如果我使用上述设置向销售发布评论,评论会发布,但随后会在重定向时崩溃:
undefined method `admin_sale_path' for #<Admin::CommentsController:0x007ffed79bb210>
Run Code Online (Sandbox Code Playgroud)
正确的路由方法可能admin_channel_sale_path(sale.channel, sale)但是它似乎无法解决这个问题,而且我不确定在哪里修补它.
我的Sale资源中是否有一个位置可以覆盖用于防止此错误的路由方法?
我通过 HTTPS 使用 NestJS。
import { NestFactory } from '@nestjs/core';
import { fstat } from 'fs';
import { AppModule } from './app.module';
import {readFileSync} from 'fs'
async function bootstrap() {
const httpsOptions = {
key:readFileSync('tsl/private-key.pem'),
cert:readFileSync('tsl/public-cert.pem')
}
const app = await NestFactory.create(AppModule,{httpsOptions});
await app.listen(3000);
}
bootstrap();
Run Code Online (Sandbox Code Playgroud)
我尝试获取简单的 POST 请求:
@Post()
test(@Body() body){
console.log(body);
}
Run Code Online (Sandbox Code Playgroud)
但输出总是{}
我读到 Nestjs 无法正确解析数据。我该如何解决这个问题?