Получить ответ в Экспресс в обещании? - PullRequest
0 голосов
/ 28 октября 2018

Итак, у меня есть код с Экспресс :

let promiseLink = new Promise(function(resolve, reject) {
    app.post('/recipes', (req, res) => {
        resolve(req.body.linkText)
    })
})
promiseLink.then(function(value) {
    /* some code that I can't show, but is not much */
    .end(function (result) {
        let result = result.body
    }) 
})

Теперь мой вопрос: есть ли способ получить ответ на функцию post от .end(function)..блок?Кроме того, если есть, я хочу отправить необработанный HTML-код, что будет лучшим способом сделать это?Если нет способа получить ответ, могу ли я реструктурировать свой код так, чтобы я мог?

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

В своем Обещании вы можете разрешить () любое значение, которое хотите.Просто добавьте ответ, например:

app.post('/recipes', (req, res) => {
    resolve({linkText: req.body.linkText, response: res})
})

.then () value будет этим объектом, или как вы решите его структурировать.

0 голосов
/ 28 октября 2018

Примерно так должно работать:

let promiseLink = new Promise(function(resolve, reject) {
    app.post('/recipes', (req, res) => {
      resolve({response: res, linkText: req.body.linkText})
    })
})
promiseLink.then(function({response, linkText}) {
    /* some code that I can't show, but is not much */
    .end(function(result) {
        // you can read response here now
        let result = result.body
    })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...