免责声明:任务和微任务对我来说仍然非常模糊.
我遇到了一些问题,我认为时机是罪魁祸首.
我正在维护一个使用很多的项目setTimeout(... , 0).
是否可以查看浏览器的事件循环并查看任务和微任务队列中的任务?
我可以尝试使用chrome的devtools时间轴或打一些debugger关键字,但这非常繁琐.
async聚合物中方法的目的是什么?我应该什么时候使用它?
现在我正在使用它像hm-this-bug-is-kinda-strange-maybe-async-will-fix-it-yep-id-did-yey.它不会让我对我的代码有任何信心,因为当我async出现一些时间错误时,我正在撒上它.
有什么区别
require("../classes/M8.php");
Run Code Online (Sandbox Code Playgroud)
和
require("/../classes/H8.php");
Run Code Online (Sandbox Code Playgroud)
如何包含路径会有所不同?
有时我的编码方式错误,我的聚合物1.0网络应用程序和东西停止正常工作.就像将数据设置为某个自定义元素,然后立即尝试从中读取一些数据(这取决于刚刚设置的数据)(因为我不知道更好).有时这不起作用.大部分时间this.async都会帮助我,但有时却不会.但是,setTimeout在这种情况下,我从来没有让我失望过.大部分时间在setTimeout没有提供等待时间的情况下打电话也会起作用.
很长一段时间我都认为这this.async(function(){...})是一样的setTimeout(function(){...}).因为有时内部代码this.async将无法看到自定义元素数据中的更改,而内部代码setTimeout则不会.
这两种方法是以不同的方式实现的吗?
我应该将非模型(它们不代表任何数据)且仅提供某些功能的简单类放在哪里?
例如:
class FileUploader
def save_uploaded_file(filename, tempfile)
path = Rails.root.join('public', 'uploads', filename)
File.open(path, 'wb+') do |file|
file.write(tempfile.read)
end
end
end
Run Code Online (Sandbox Code Playgroud)
其作用只是简单地将文件复制到预定义的位置。
我必须把它放在下面吗models?或者 Rails 有其他更适合此类课程的位置吗?我之前尝试过放入lib,但是太痛苦了,因为 Rails 将这些文件缓存在里面lib目录中(编辑配置以不缓存文件,但它仍然缓存在目录中lib)。
因此,我将这些文件放入models但测试变得非常痛苦(我刚刚启动 Rails,也许我在测试中做错了什么),因为 rake 会吐出关于没有设置测试数据库的错误(我想测试类)与任何形式或形状的数据库无关 - 为什么我需要设置数据库?)。
注意:
class BaseValidator; end
class DefaultValidator < BaseValidator; end
Run Code Online (Sandbox Code Playgroud)
Rspec 3.1:
describe ValidatorFactory do
context "creating DefaultValidator" do
subject { ValidatorFactory.validator('default') }
it {is_expected.to be_a(DefaultValidator)}
it {is_expected.to be_kind_of(BaseValidator) }
end
end
Run Code Online (Sandbox Code Playgroud)
打印我这个:
Failure/Error: it {is_expected.to be_a(DefaultValidator)}
expected DefaultValidator to be a kind of DefaultValidator
Failure/Error: it {is_expected.to be_kind_of(BaseValidator) }
expected DefaultValidator to be a kind of BaseValidator
Run Code Online (Sandbox Code Playgroud)
但是,这有效:
...
it {is_expected.to be(DefaultValidator)}
it {is_expected.to be < (BaseValidator) }
...
Run Code Online (Sandbox Code Playgroud)
ValidatorFactory.rb
class ValidatorFactory
def self.validator(type)
case type.downcase
when 'default'
DefaultValidator
else …Run Code Online (Sandbox Code Playgroud) 我正在使用PHP SOAPSERVER类.
作为响应,我发送关联的php数组:
function getItems()
{
...
$items[] = Array("itemID" =>$itemID,"itemName"=>$itemName);
return $items;
}
Run Code Online (Sandbox Code Playgroud)
SOAP返回是这样的:
...
<Items>
<item type="Map">
<item>
<key type="string">
itemID
</key>
<value type="string">
17558
</value>
</item>
<item>
<key type="string">
itemName
</key>
<value type="string">
I-17558
</value>
</item>
</item>
</Items>
...
Run Code Online (Sandbox Code Playgroud)
这种回归很难分析人类(给定更大的数组).首选形式如下:
...
<Items>
<item>
<itemID>17558</itemID>
<itemName>I-17558</itemName>
</item>
<item>
<itemID>17559</itemID>
<itemName>I-17559</itemName>
</item>
</Items>
...
Run Code Online (Sandbox Code Playgroud)
这样的SOAP返回是否可行(不改变返回类型 - 数组)?怎么样?
我刚刚开始使用SOAP,大多数教程都展示了如何返回像string这样的简单类型.
php ×2
polymer ×2
javascript ×1
polymer-1.0 ×1
rspec ×1
rspec-rails ×1
ruby ×1
soap ×1
soapserver ×1