小编Pun*_*Cha的帖子

静态IP地址在docker compose v3中不起作用

从官方文档中,静态IP地址应该与docker compose v3 + docker swarm一起使用.但我不能让它发挥作用.

这是我的码头组成yaml:

version: '3'

networks:
test:
    ipam:
    driver: default
    config:
        - subnet: 10.1.0.0/24

services:
one:
    image: mongo
    networks:
    test:
        ipv4_address: '10.1.0.100'

two:
    image: mongo
    networks:
    test:
        ipv4_address: '10.1.0.101'
three:
    image: mongo
    networks:
    test:
        ipv4_address: '10.1.0.102'
Run Code Online (Sandbox Code Playgroud)

docker stack up -c xxx.yml test用来部署.我发现创建的容器的ip是10.1.0.3,10.1.0.5,...

docker swarm

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

为什么用 p.then(resolve) 比用resolve(p) 更早地解决新的 Promise?

Code#1 和 Code#2 之间的区别是:Code#1 使用resolve(p),Code#2 使用p.then(()=>resolve())。我希望输出的序列是不变的,但它们会生成不同的序列。我不明白为什么。

代码#1:resolve(p)

const p = Promise.resolve();

new Promise((resolve) => {
    resolve(p);    // <---
}).then(() => {
    console.log('after:await');
});

p.then(() => console.log('tick:a'))
    .then(() => console.log('tick:b'))
    .then(() => console.log('tick:c'));
Run Code Online (Sandbox Code Playgroud)

输出:

tick:a
tick:b
after:await
tick:c
Run Code Online (Sandbox Code Playgroud)

代码#2:p.then(()=>resolve())

const p = Promise.resolve();

new Promise((resolve) => {
    p.then(()=>resolve());    // <---
}).then(() => {
    console.log('after:await');
});

p.then(() => console.log('tick:a'))
    .then(() => console.log('tick:b'))
    .then(() => console.log('tick:c'));
Run Code Online (Sandbox Code Playgroud)

输出:

tick:a
after:await
tick:b
tick:c
Run Code Online (Sandbox Code Playgroud)

为什么输出的顺序不同?

javascript promise es6-promise

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

标签 统计

docker ×1

es6-promise ×1

javascript ×1

promise ×1

swarm ×1