簡體   English   中英

將 javascript 函數與 promise 同步,socket.io 發出

[英]Synchronizing javascript functions with promises, socket.io emit

我正在構建一個 web 應用程序,並嘗試使用 socket.io 的 emit() 以特定順序將數據發送到服務器。 基本上,我試圖同步發送兩組數據,然后在完全發送之前的兩組數據( stepsfiles )之后發送“提交”消息。 我的問題是“提交”消息是在文件發送完成之前發送的。 我正在嘗試使用Promises ,但它不起作用,而且我猜測用法有誤。

sendToServer() {
    Promise.all([
        new Promise((res) => res(this.sendSteps())),
        new Promise((res) => res(this.sendFiles()))
    ]).then(this.sendSubmit());
}

更新:

我也試過這個,但它並沒有解決問題。 sendSubmit() 仍然在 sendFiles() 完成之前啟動。

async sendToServer() {
    return new Promise((res, rej) => res(this.sendSteps()))
        .then(() => {
            return new Promise((res, rej) => res(this.sendFiles()));
        })
        .then(() => {
            return new Promise((res, rej) => res(this.sendSubmit()));
        });
}

請像這樣重寫代碼並告訴我。

sendToServer() {
    Promise.all([
        new Promise((resolve, reject) => resolve(this.sendSteps())),
        new Promise((resolve, reject) => resolve(this.sendFiles()))
    ]).then(()=>{
        this.sendSubmit();
 });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM