Components.results
は、js/src/xpconnect/src/xpc.msg
にあるマクロの最初のパラメータとしてリストされた名前のプロパティを持つ、読み出し専用オブジェクトです。各オブジェクトの値はそのコンスタントの値に対応しています。
はじめに
Components.results
は、よく知られた XPCOM の結果コードの名前をプロパティに持つオブジェクトで、それぞれの値は対応する結果コードに対応しています。このオブジェクトのプロパティは、未知の nsresult 変数をテストするのに利用したり、失敗を示すために「投げ」たりできます。
if(something_unexpected_happened) throw Components.results.NS_ERROR_UNEXPECTED;
Components.results
オブジェクトのプロパティは for...in
ループを使って列挙できます。
使い方
nsISupports
の実装
The standard nsISupports
is usually implemented in JavaScript by using Components.results
to get a failure return value if does not implement the given interface. Note the common use of an abbreviation for <code>Components.results
, Cr
:
const Ci = Components.interfaces, Cr = Components.results; function Class() { /* ... */ } Class.prototype = { /* ... */ QueryInterface: function(id) { if (id.equals(Ci.IMyInterface)) return this; throw Cr.NS_ERROR_NO_INTERFACE; } };