小编Qui*_*zen的帖子

如何在JavaScript中解开Promise的价值

我有以下代码:

...
const array = nestings.map(async nesting =>
    await Promise.all([
        getFirstDataFromDB();
        getSecondDataFromDB();
        getThirdDataFromDB();
    ]);
        .then([data1, data2, data3]) => ({data1: data1, data2: data2, data3: data3}))
        .catch(error => console.log(error))
...
console.log(array); // Promise
Run Code Online (Sandbox Code Playgroud)

在console.log中,我可以保证,但是如何获取生成的数组?

javascript promise

4
推荐指数
1
解决办法
137
查看次数

编译时的 C++ 字符串连接

我想编写记录器,我需要有关源文件和行的数据。这行代码在编译时是否有效:

constexpr std::string_view source = (std::string(__FILE__) + ":" + std::to_string(__LINE__));
Run Code Online (Sandbox Code Playgroud)

如果它在编译时不起作用,我将如何做?也许这是不可能的?

c++

2
推荐指数
1
解决办法
159
查看次数

C++ 大内存分配

我用C++编写了测试代码:

void handler()
{
    std::cout << "allocation failed" << std::endl;
    std::set_new_handler(nullptr);
}

int main()
{
    size_t allocations_count = 0u;
    std::set_new_handler(handler);

    try {
    
        while (true) {
        new char[1024u * 1024u * 1024u];
           ++allocations_count;
        }
    } catch (const std::bad_alloc& e) {
        std::cout << e.what() << '\n';
    }

    std::cout << "allocated " << allocations_count << " GB" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

在我的 8GB RAM 机器上,我得到了输出:

BigAllocations(5125,0x1050e7d40) malloc: can't allocate region
:*** mach_vm_map(size=1073741824, flags: 100) failed (error code=3)
BigAllocations(5125,0x1050e7d40) malloc: *** set a breakpoint in …
Run Code Online (Sandbox Code Playgroud)

c++ hardware malloc operating-system

1
推荐指数
1
解决办法
594
查看次数

标签 统计

c++ ×2

hardware ×1

javascript ×1

malloc ×1

operating-system ×1

promise ×1