คำถามติดแท็ก asynchronous

การเขียนโปรแกรมแบบอะซิงโครนัสเป็นกลยุทธ์สำหรับการชะลอการดำเนินการที่มีความหน่วงแฝงสูงหรือความสำคัญต่ำซึ่งมักจะพยายามปรับปรุงประสิทธิภาพการตอบสนองและ / หรือความสามารถในการรวมของซอฟต์แวร์ กลยุทธ์ดังกล่าวมักจะใช้การรวมกันของการเขียนโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์และการเรียกกลับและเลือกใช้การทำงานพร้อมกันผ่าน coroutines และ / หรือเธรด

30
ฉันจะคืนการตอบสนองจากการโทรแบบอะซิงโครนัสได้อย่างไร
Наэтотвопросестьответына กองมากเกินнарусском : Каквернутьзначениеизсобытияилиизфункции обратноговызова ? Илихотябыдождатьсяихокончания ฉันมีฟังก์ชั่นfooที่ทำให้คำขอ Ajax ฉันจะคืนคำตอบจากได้fooอย่างไร ฉันพยายามคืนค่าจากการsuccessเรียกกลับเช่นเดียวกับการกำหนดการตอบสนองให้กับตัวแปรในตัวเครื่องภายในฟังก์ชั่นและคืนค่านั้น แต่ไม่มีวิธีใดที่จะตอบกลับได้จริง function foo() { var result; $.ajax({ url: '...', success: function(response) { result = response; // return response; // <- I tried that one as well } }); return result; } var result = foo(); // It always ends …

30
ฉันจะอัพโหลดไฟล์แบบอะซิงโครนัสได้อย่างไร
ฉันต้องการอัพโหลดไฟล์แบบอะซิงโครนัสกับ jQuery $(document).ready(function () { $("#uploadbutton").click(function () { var filename = $("#file").val(); $.ajax({ type: "POST", url: "addFile.do", enctype: 'multipart/form-data', data: { file: filename }, success: function () { alert("Data Uploaded: "); } }); }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> <span>File</span> <input type="file" id="file" name="file" size="10"/> <input id="uploadbutton" type="button" value="Upload"/> เรียกใช้ข้อมูลโค้ดซ่อนผลลัพธ์ขยายตัวอย่างข้อมูล แทนที่จะอัปโหลดไฟล์ฉันได้รับชื่อไฟล์เท่านั้น ฉันจะแก้ไขปัญหานี้ได้อย่างไร

15
ฉันจะทำให้ jQuery ดำเนินการซิงโครนัสแทนที่จะเป็นแบบอะซิงโครนัสคำขอ Ajax ได้อย่างไร
ฉันมีวิดเจ็ต JavaScript ที่ให้คะแนนส่วนขยายมาตรฐาน หนึ่งในนั้นคือbeforecreateฟังก์ชั่น ควรกลับfalseไปเพื่อป้องกันไม่ให้สร้างรายการ ฉันได้เพิ่มการเรียก Ajax ในฟังก์ชันนี้โดยใช้ jQuery: beforecreate: function (node, targetNode, type, to) { jQuery.get('http://example.com/catalog/create/' + targetNode.id + '?name=' + encode(to.inp[0].value), function (result) { if (result.isOk == false) alert(result.message); }); } แต่ฉันต้องการป้องกันไม่ให้วิดเจ็ตของฉันสร้างรายการดังนั้นฉันควรกลับมาfalseในฟังก์ชั่นหลักไม่ใช่ในการติดต่อกลับ มีวิธีดำเนินการคำขอ AJAX แบบซิงโครนัสโดยใช้ jQuery หรือ API ในเบราว์เซอร์อื่นหรือไม่

22
การประมวลผลแบบอะซิงโครนัสกับการซิงโครนัสหมายถึงอะไรจริง ๆ ? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน7 เดือนที่ผ่านมา ความแตกต่างระหว่างการดำเนินการแบบอะซิงโครนัสและการซิงโครนัสคืออะไร

21
วิธีการใช้ 'async' และ 'รอ'
จากหนึ่งในความเข้าใจของฉันสิ่งสำคัญที่asyncและawaitทำคือการทำให้รหัสง่ายต่อการเขียนและอ่าน - แต่ใช้พวกเขาเท่ากับวางไข่หัวข้อพื้นหลังเพื่อดำเนินการตรรกะระยะเวลานาน? ฉันกำลังลองตัวอย่างพื้นฐานที่สุด ฉันได้เพิ่มความคิดเห็นบางส่วนแบบอินไลน์ คุณช่วยอธิบายให้ฉันฟังได้ไหม // I don't understand why this method must be marked as `async`. private async void button1_Click(object sender, EventArgs e) { Task<int> access = DoSomethingAsync(); // task independent stuff here // this line is reached after the 5 seconds sleep from // DoSomethingAsync() method. Shouldn't …

6
ทำไมตัวแปรของฉันไม่เปลี่ยนแปลงหลังจากที่ฉันแก้ไขภายในฟังก์ชั่น? - การอ้างอิงรหัสแบบอะซิงโครนัส
รับตัวอย่างต่อไปนี้ทำไมouterScopeVarไม่นิยามในทุกกรณี? var outerScopeVar; var img = document.createElement('img'); img.onload = function() { outerScopeVar = this.width; }; img.src = 'lolcat.png'; alert(outerScopeVar); var outerScopeVar; setTimeout(function() { outerScopeVar = 'Hello Asynchronous World!'; }, 0); alert(outerScopeVar); // Example using some jQuery var outerScopeVar; $.post('loldog', function(response) { outerScopeVar = response; }); alert(outerScopeVar); // Node.js example var …

10
ทำไมเราต้องการมิดเดิลแวร์สำหรับโฟลว์ async ใน Redux
ตามเอกสารที่"โดยตัวกลาง Redux เก็บสนับสนุนเฉพาะการไหลของข้อมูลซิงโคร" ฉันไม่เข้าใจว่าทำไมถึงเป็นเช่นนี้ ทำไมส่วนประกอบคอนเทนเนอร์ไม่สามารถเรียกใช้ async API จากนั้นจึงdispatchดำเนินการ ตัวอย่างเช่นลองจินตนาการถึง UI ที่เรียบง่าย: ฟิลด์และปุ่ม เมื่อผู้ใช้กดปุ่มฟิลด์จะถูกเติมด้วยข้อมูลจากเซิร์ฟเวอร์ระยะไกล import * as React from 'react'; import * as Redux from 'redux'; import { Provider, connect } from 'react-redux'; const ActionTypes = { STARTED_UPDATING: 'STARTED_UPDATING', UPDATED: 'UPDATED' }; class AsyncApi { static getFieldValue() { const promise = …

30
จะตรวจสอบการเชื่อมต่ออินเทอร์เน็ตบน Android ได้อย่างไร? InetAddress ไม่เคยหมดเวลา
ฉันได้AsyncTaskที่ควรจะตรวจสอบการเข้าถึงเครือข่ายเพื่อชื่อโฮสต์ แต่doInBackground()ไม่หมดเวลา ใครมีเงื่อนงำ? public class HostAvailabilityTask extends AsyncTask<String, Void, Boolean> { private Main main; public HostAvailabilityTask(Main main) { this.main = main; } protected Boolean doInBackground(String... params) { Main.Log("doInBackground() isHostAvailable():"+params[0]); try { return InetAddress.getByName(params[0]).isReachable(30); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } protected …

24
ฉันจะใช้วิธีการทำงานของ async <T> แบบซิงโครนัสได้อย่างไร
ฉันเรียนรู้เกี่ยวกับ async / คอยและพบกับสถานการณ์ที่ฉันต้องเรียกวิธีการ async พร้อมกัน ฉันจะทำสิ่งนั้นได้อย่างไร วิธีการซิงค์: public async Task&lt;Customers&gt; GetCustomers() { return await Service.GetCustomersAsync(); } การใช้งานปกติ: public async void GetCustomers() { customerList = await GetCustomers(); } ฉันได้ลองใช้สิ่งต่อไปนี้: Task&lt;Customer&gt; task = GetCustomers(); task.Wait() Task&lt;Customer&gt; task = GetCustomers(); task.RunSynchronously(); Task&lt;Customer&gt; task = GetCustomers(); while(task.Status != TaskStatus.RanToCompletion) ฉันลองใช้คำแนะนำจากที่นี่แต่มันไม่ทำงานเมื่อโปรแกรมเลือกจ่ายงานอยู่ในสถานะถูกระงับ public static void …

12
กรณีใช้งานที่ดีสำหรับ Akka [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันได้ยินมามากมายเกี่ยวกับกรอบของAkka (แพลตฟอร์มบริการ Java / Scala) แต่จนถึงตอนนี้ยังไม่เคยเห็นตัวอย่างการใช้งานจริงจำนวนมากที่มันจะดี ดังนั้นฉันจะสนใจที่จะได้ยินเกี่ยวกับสิ่งที่นักพัฒนาใช้มันอย่างประสบความสำเร็จ ข้อ จำกัด เดียวเท่านั้น: โปรดอย่ารวมกรณีของการเขียนเซิร์ฟเวอร์แชท (เพราะอะไรเพราะสิ่งนี้ถูกใช้เป็นตัวอย่างมากเกินไปสำหรับสิ่งที่คล้ายกัน)

7
async / await - เมื่อใดที่จะส่งคืน Task vs void?
ภายใต้สถานการณ์ใดที่เราจะต้องการใช้ public async Task AsyncMethod(int num) แทน public async void AsyncMethod(int num) สถานการณ์เดียวที่ฉันนึกออกคือถ้าคุณต้องการให้ภารกิจติดตามความคืบหน้า นอกจากนี้ในวิธีต่อไปนี้ async และรอคำสำคัญไม่จำเป็นหรือไม่ public static async void AsyncMethod2(int num) { await Task.Factory.StartNew(() =&gt; Thread.Sleep(num)); }

10
AngularJS: เริ่มต้นบริการด้วยข้อมูลแบบอะซิงโครนัส
ฉันมีบริการ AngularJS ที่ฉันต้องการเริ่มต้นด้วยข้อมูลอะซิงโครนัสบางส่วน บางสิ่งเช่นนี้ myModule.service('MyService', function($http) { var myData = null; $http.get('data.json').success(function (data) { myData = data; }); return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } }; }); เห็นได้ชัดว่าสิ่งนี้จะไม่ทำงานเพราะหากมีสิ่งใดที่พยายามโทรหาdoStuff()ก่อนที่myDataจะกลับมาฉันจะได้รับข้อยกเว้นตัวชี้ null เท่าที่ฉันสามารถบอกได้จากการอ่านคำถามอื่น ๆ ที่ถามที่นี่และที่นี่ฉันมีตัวเลือกน้อย แต่ไม่มีคำถามใดที่ดูสะอาดมาก (บางทีฉันอาจขาดอะไรซักอย่าง): บริการติดตั้งด้วย "run" เมื่อตั้งค่าแอพของฉันทำสิ่งนี้: myApp.run(function ($http, MyService) …

15
ไม่สามารถระบุตัวปรับแต่ง 'async' ในวิธีการ 'หลัก' ของแอปคอนโซล
ฉันใหม่สำหรับการเขียนโปรแกรมแบบอะซิงโครนัสกับโมดิasyncฟายเออร์ ฉันกำลังพยายามหาวิธีเพื่อให้แน่ใจว่าMainวิธีการของฉันในแอปพลิเคชันคอนโซลทำงานแบบอะซิงโครนัสอย่างแท้จริง class Program { static void Main(string[] args) { Bootstrapper bs = new Bootstrapper(); var list = bs.GetList(); } } public class Bootstrapper { public async Task&lt;List&lt;TvChannel&gt;&gt; GetList() { GetPrograms pro = new GetPrograms(); return await pro.DownloadTvChannels(); } } ฉันรู้ว่านี่ไม่ได้ทำงานแบบอะซิงโครนัสจาก "ด้านบน" เนื่องจากไม่สามารถระบุโมดิasyncฟายเออร์ในMainวิธีการได้ฉันจะรันโค้ดภายในmainแบบอะซิงโครนัสได้อย่างไร

11
เรียก async / ฟังก์ชั่นที่รอคอยในแบบคู่ขนาน
เท่าที่ฉันเข้าใจใน ES7 / ES2016 การใส่รหัสหลายรายการawaitจะทำงานคล้ายกับการผูกมัด.then()กับสัญญาซึ่งหมายความว่าพวกเขาจะดำเนินการอย่างใดอย่างหนึ่งหลังจากที่อื่นมากกว่าใน Parallerl ตัวอย่างเช่นเรามีรหัสนี้: await someCall(); await anotherCall(); ฉันเข้าใจถูกต้องหรือไม่ว่าanotherCall()จะถูกเรียกเมื่อsomeCall()เสร็จสิ้นเท่านั้น อะไรคือวิธีที่สวยงามที่สุดในการโทรหาพวกเขาในแบบคู่ขนาน? ฉันต้องการใช้มันในโหนดดังนั้นอาจมีวิธีแก้ปัญหาด้วยไลบรารี async หรือไม่? แก้ไข: ฉันไม่พอใจกับวิธีแก้ปัญหาที่ให้ไว้ในคำถามนี้: การชะลอตัวเนื่องจากการรอคอยสัญญาแบบไม่ต่อเนื่องในเครื่องกำเนิดไฟฟ้า asyncเนื่องจากมันใช้เครื่องกำเนิดไฟฟ้าและฉันกำลังถามกรณีการใช้งานทั่วไปมากกว่า

10
JavaScript, Node.js: Array.forEach แบบอะซิงโครนัสหรือไม่
ฉันมีคำถามเกี่ยวกับการArray.forEachติดตั้ง JavaScript แบบดั้งเดิม: มันทำงานแบบอะซิงโครนัสหรือไม่? ตัวอย่างเช่นถ้าฉันโทร: [many many elements].forEach(function () {lots of work to do}) สิ่งนี้จะไม่มีการปิดกั้นหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.