конкретный c ответ на указанные c клиентов при одновременном выполнении запросов к серверу - PullRequest
0 голосов
/ 07 января 2020

Есть ли способ получить ответы на указанный c клиент, если другой клиент одновременно запросил другой запрос к тому же серверу? Это фрагмент кода для сервера обмена. Данная функция присутствует в библиотеке с именем «ccxt», эта функция «exchange.fetchMarkets ()» имеет API, который запрашивает сторонний сервер, который является сервером обмена, таким как «bitfinex», «crex24», «binance», и др c. Проблема, с которой я сталкиваюсь, заключается в том, что когда один клиент запрашивает обмен, например, «crex24», в то же время, когда другой клиент запрашивает другой обмен, например, «binance», они получают тот же ответ, что и вызовы функций для последнего недавнего обмена. , Я хочу, чтобы он давал ответы в соответствии с запросами клиента независимо друг от друга.

это функция контроллера:

const ccxt = require("ccxt");

exports.fetchMarkets = function(req, res){

  let API = req.params.exchangeId;
  let exchange = new ccxt[API]();

  if (exchange.has["fetchMarkets"]) {
    try{
        var markets = await exchange.fetchMarkets();
        res.send(markets)
    }catch (err) {
          let error = String(err);
          res.send({ failed: error });
    }
  }else{
    res.send({loadMarkets : "not available"})
  }
} 

Это конечная точка для запроса сервера:

app.route('/markets/:exchangeId')
    .get(exchange.fetchMarkets) 

Здесь вы можете найти библиотеку ccxt: https://github.com/ccxt/ccxt/wiki/Manual и может быть включена в проект с помощью "npm install ccxt"

1 Ответ

0 голосов
/ 07 января 2020

Я не понимаю, почему упомянутый вами код не будет работать так, как вы ожидаете. Я создал небольшое приложение, и оно работает, как и ожидалось. Вы можете проверить здесь

https://repl.it/repls/IllfatedStrangeRepo

Я получаю четыре разных запроса с разными идентификаторами и получаю разные ответы.

Надеюсь, это понятно сомнения.

...