次のシナリオがあります。
- サーバーからトークンをリクエストする
- リクエストを実行します。つまり、getAllNews
- リクエスト getAllNews のレスポンスを解析する
- 解析されたデータを永続化する
- 要求されたトークンを削除します
そして、promise を使用して次の 5 つの操作を行います。
return [self createToken].then(^(NSString *token) {
return [self performRequestGetAllNewsUsingToken:token];
}).then(^(id responseObject) {
return [self parseNewsResponse:responseObject];
}).then(^(NewsResponseObject *newsResponseObject) {
return [self persistNewsFromArray:newsResponseObject.allNews inContext:self.context];
}).finally(^{
[self deleteToken:token];
});
私が直面している問題は、パラメーターを送信できないことです。finally
このtoken
パラメーターがありません。
の直後に,deleteToken
として呼び出すことを考えましたが、前の操作がエラーではなく実際の結果に解決された場合にのみ操作を実行します。リクエストの結果がどうであれ、リクエストが正常に実行されたかどうかに関係なく、トークンを破棄する必要があります。then
[self performRequestGetAllNewsUsingToken:token]
createToken
Ifが実行された場合deleteToken
、通常の request を実行した後にのみ呼び出す必要があるというルールを設定する方法はありgetAllNews
ますか?