メッセージが次のRESTエンドポイントで正常に機能するコードがいくつかありました。
- データベースに作成された
- stepAが処理されました
- stepA が OK の場合、応答メッセージが返されました
- stepB が処理されました。
これはコードでした:
// POST single message
app.post('/message', (req, res) => {
const url = req.body.properties.url
const image = req.body.properties.image
const extraField = req.body.properties.extraField
db.message.create({
url: url,
image: image,
})
.then(() => myProcess(extraField, 'stepA'))
.then(newMessage => res.json(newMessage))
.then(() => myProcess(extraField, 'stepB'))
})
今、feathersjs を使用して同じことをしようとしていますが、2、3、4 を正確に行う方法がわかりません。
メッセージ サービスの create メソッド用の AFTER フックができました。
module.exports = function (options = {}) { // eslint-disable-line no-unused-vars
return function processNewMessage (hook) {
const { extraField } = hook.data.properties
Promise.resolve(myProcess(extraField, 'stepA'))
.then( <<NO-IDEA>> ) // Send RESPONSE!!
.then(() => myProcess(extraField, 'stepB'))
return Promise.resolve(hook);
};
};
つまり、私の質問は次のようになります: 応答を送信し、その後、feathersjs を使用して 'myProcess stepB' をトリガーするにはどうすればよいですか?
これは「レガシー」ですが、それでも関連性があると思います。