2016-11-28 2 views
1

Я использую электрон для создания настольного приложения, теперь мне нужно получить данные с некоторых удаленных API.В Electron, какой лучший способ сделать запросы ajax?

Могу ли я использовать что-то вроде fetch или Reqwest в процессе Renderer или использовать любой пакет http npm в основном процессе, например Request и использовать IPC Electron для перетасовки данных взад и вперед.

Так что это лучший способ сделать это.

ответ

1

Я предпочитаю родные пакеты http и https. Вы можете напрямую выполнить запрос в процессе рендеринга. Ниже приведен пример запроса почты с обработкой ошибок. Возможно, там есть лучшее решение - это только мое обращение.

// You Key - Value Pairs 
var postData = querystring.stringify({ 

    key: "value" 

}); 


// Your Request Options 
var options = { 

    host: "example.com", 
    port: 443, 
    path: "/path/to/api/endpoint", 
    method: 'POST', 
    headers: { 

     'Content-Type': 'application/x-www-form-urlencoded', 
     'Content-Length': Buffer.byteLength(postData) 

    } 

}; 


// The Request 
var request = https.request(options, function(response) { 

    response.on('data', function(chunk) { 

     if (chunk) { 

      var data = chunk.toString('utf8'); 
      // holds your data 

     } 


    }); 

}).on("error", function(e) { 

    // Some error handling 

}); 


//optionally Timeout Handling 
request.on('socket', function(socket) { 

    socket.setTimeout(5000); 

    socket.on('timeout', function() { 

     request.abort(); 

    }); 

}); 

request.write(postData); 
request.end(); 
Смежные вопросы