3

Lawnchair でメソッドを呼び出してエラーが発生した場合、エラー コールバックを取得できますか? 私はアダプターを実装しており、処理するためにクライアントに提供したい既知のエラー条件がいくつかあります。しかし、API でエラーがどのように返されるのかわかりません。彼らはノードスタイルですか?例: callback(error, result) where error=null エラーがない場合、または何か他の場合?

4

1 に答える 1

2

簡単な答え: Lawnchair アダプターのメソッドは、重大なエラー処理を行っていません。アダプターで特に問題が発生した場合、クライアントは例外を受け取ります。

以下は、DOM アダプターの save メソッドのコードです。何か問題が発生した場合、コールバックがまったく呼び出されないことは明らかです。アプリケーションのコードは例外を処理する必要があります。

save: function (obj, callback) {
    var key = obj.key ? this.name + '.' + obj.key : this.name + '.' + this.uuid()
    // if the key is not in the index push it on
    if (this.indexer.find(key) === false) this.indexer.add(key)
    // now we kil the key and use it in the store colleciton    
    delete obj.key;
    storage.setItem(key, JSON.stringify(obj))
    obj.key = key.slice(this.name.length + 1)
    if (callback) {
        this.lambda(callback).call(this, obj)
    }
    return this
},

もちろん、アダプターで内部エラー処理を行い、追加のパラメーターをコールバックに渡すことができます。これを行うと、アダプタの動作が残りのアダプタと一致しなくなり、マイナス面になる可能性があります。

アダプター内のエラーから回復できない限り、他のアダプターと同様に、アダプターが例外をスローすることをお勧めします。

于 2013-08-07T10:39:16.490 に答える