在循环中使用多个回调时,有没有办法等待回调函数的结果?

时间:2020-02-26 07:33:36

标签: javascript node.js asynchronous async-await rpc

我正在使用xmlrpc库调用远程过程,我调用rpc的代码是:

// Example program
#include <iostream>
#include <string>

template<class T>
class RawGrid 
{
    private:
        int width, height;

    public:

        RawGrid(int width, int height) : width(width), height(height)
        {
            data = new T*[width];
            for(int i = 0; i < width; i++)
                data[i] = new T[height];
        }
        ~RawGrid()
        {
            if (data)
            {
                for(int i = 0; i < width; i++)
                    delete[] data[i];
                delete[] data;                
            }
        }

        int getWidth() {
            return(width);
        }
        int getHeight() {
            return(height);
        }

    T** data = nullptr;
};


int main()
{
    RawGrid<int> grid(100, 50);

    grid.data[10][25] = 20;

    std::cout << "Data value: " << grid.data[10][25] << "!\n";
    std::cout << "Width: " << grid.getWidth() << "!\n";
    std::cout << "Height " << grid.getHeight() << "!\n";
}

结果是两个字符串组成的数组,我想与用于调用rpc的相关参数一起存储,但是由于无法找到将结果传递给该参数的方法而被困住了。

我尝试在回调内映射,但循环迭代更快,并且在取消播放(失败)后调用回调

我用await尝试了Promises,但是它给出了错误:(await仅在异步函数中有效)

非常感谢您的帮助。

0 个答案:

没有答案